关于performSelector调用和直接调用有什么不同
2014-08-29 14:49
148 查看
下面两句代码,在执行上有什么不一样的地方吗(都在主线程中)?
[self performSelector:@selector(test2)]; &&
[self test2];
1) 有一点是肯定的, performSelector的话一定是在运行时候才能发现(此时程序崩溃)
大概这也是为什么写delegate的时候,为保证程序健壮性,会使用如下函数检验
view
source
print?
2)直接调用方法时候,一定要在头文件中声明该方法,使用时候,也要将头文件import进来
而使用performSelector时候, 可以不用import头文件,对包含方法的 对象 调用performSelector即可。
[self performSelector:@selector(test2)]; &&
[self test2];
1) 有一点是肯定的, performSelector的话一定是在运行时候才能发现(此时程序崩溃)
大概这也是为什么写delegate的时候,为保证程序健壮性,会使用如下函数检验
view
source
print?
1.
- (
BOOL
)respondsToSelector:(
SEL
)aSelector;
2)直接调用方法时候,一定要在头文件中声明该方法,使用时候,也要将头文件import进来
而使用performSelector时候, 可以不用import头文件,对包含方法的 对象 调用performSelector即可。
相关文章推荐
- 关于performSelector调用和直接调用有什么不同
- 关于performSelector调用和直接调用区别
- performSelector调用和直接调用的不同
- 关于performSelector调用和直接调用区别
- 关于performSelector 和 respondsToSelector 调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 转:关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 关于performSelector调用和直接调用区别
- 如题,既然直接对一个实例发送方法名就可以调用这个方法,那为什么还要使用performSelector:去调呢?两者u有啥区别
- performSelector调用和直接调用
- performSelector调用方法和直接self 调用方法的区别
- - (id)performSelector:(SEL)aSelector;调用和直接调用区别