您的位置:首页 > 其它

关于performSelector调用和直接调用有什么不同

2014-08-29 14:49 148 查看
下面两句代码,在执行上有什么不一样的地方吗(都在主线程中)?

[self performSelector:@selector(test2)]; &&
[self test2];


1) 有一点是肯定的, performSelector的话一定是在运行时候才能发现(此时程序崩溃)

大概这也是为什么写delegate的时候,为保证程序健壮性,会使用如下函数检验

view
source

print?

1.
-
(
BOOL
)respondsToSelector:(
SEL
)aSelector;


2)直接调用方法时候,一定要在头文件中声明该方法,使用时候,也要将头文件import进来

而使用performSelector时候, 可以不用import头文件,对包含方法的 对象 调用performSelector即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: