respondsToSelector使用
2015-06-14 11:00
309 查看
转自:http://blog.sina.com.cn/s/blog_a536b5350101labh.html
这些方法隶属于 NSObject protocol,意味着几乎所有类的对象都适用(继承自NSObject)。
-(BOOL) isKindOfClass: classObj用来判断是否是某个类或其子类的实例
-(BOOL) isMemberOfClass: classObj用来判断是否是某个类的实例
-(BOOL) respondsToSelector: selector用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
if([objectrespondsToSelector:@selector(methodName)])
+(BOOL) instancesRespondToSelector: selector用来判断实例是否有以某个名字命名的方法.和上面一个不同之处在于,前面这个方法可以用在实例和类上,而此方法只能用在类上.
-(id) performSelector: selector
SEL sel = @selector (start:) ; // 指定action
if ([obj respondsToSelector:sel])
{ //判断该对象是否有相应的方法
[obj performSelector:sel withObject:self]; //调用选择器方法
}
使用[[UIApplication sharedApplication] keyWindow]查找应用程序的主窗口对象
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/
这些方法隶属于 NSObject protocol,意味着几乎所有类的对象都适用(继承自NSObject)。
-(BOOL) isKindOfClass: classObj用来判断是否是某个类或其子类的实例
-(BOOL) isMemberOfClass: classObj用来判断是否是某个类的实例
-(BOOL) respondsToSelector: selector用来判断是否有以某个名字命名的方法(被封装在一个selector的对象里传递)
if([objectrespondsToSelector:@selector(methodName)])
+(BOOL) instancesRespondToSelector: selector用来判断实例是否有以某个名字命名的方法.和上面一个不同之处在于,前面这个方法可以用在实例和类上,而此方法只能用在类上.
-(id) performSelector: selector
SEL sel = @selector (start:) ; // 指定action
if ([obj respondsToSelector:sel])
{ //判断该对象是否有相应的方法
[obj performSelector:sel withObject:self]; //调用选择器方法
}
使用[[UIApplication sharedApplication] keyWindow]查找应用程序的主窗口对象
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/
相关文章推荐
- 图形处理(十)测地极坐标参数化
- BZOJ 1787: [Ahoi2008]Meet 紧急集合( 树链剖分 )
- 08Exchange Server 2010跨站点部署-输入产品密钥
- SpringMVC上传文件
- java并发编程第四章 线程执行器(1)
- java HotSpot 内存管理白皮书
- 10110 - Light, more light
- 2015陕西 并查集
- 使用Google CPU Profiler对C/C++多线程程序做性能剖析
- 2015陕西 并查集
- C++ 虚函数 剖析
- UVA11992:Fast Matrix Operations(线段树)
- hdu 1250 Hat's Fibonacci
- 【leetcode】Gas Station
- IOS开发入门书籍
- 动态规划--多边形游戏
- CentOS Compile ffmpeg libx264 not found
- pandas学习(三)
- HTML5摇一摇
- jquery源码之缓存系统--$.data