[self MethodName]和[self performSelector:@selector(Method Name)]之间的区别

DSh*_*hah 9 iphone methods cocoa-touch objective-c ios

使用以下类型调用方法有什么区别

1.

[self methodName];
Run Code Online (Sandbox Code Playgroud)

2.

[self performSelector:@selector(methodName)];   // no afterDelay is used
Run Code Online (Sandbox Code Playgroud)

是不是像performSelector会使用不同的线程来工作?

aro*_*oth 12

在大多数情况下,它们是等价的.

根据文档,performSelector:变体的目的是使您可以调用动态定义的方法,而不是在编译时实际存在的方法.就这样.调用一个方法本在编译时,有在两者之间没有差别.