iOS 内省方法浅谈

NSObject协议和类定义了很多内省方法,有效的避免错误的进行消息派发、错误的假设对象相等、以及类似的问题。

     1、isKindOfClass:Class
     // 检查对象是否是那个类或者其继承类实例化的对象
     2、isMemberOfClass:Class
     // 检查对象是否是那个类但不包括继承类实例化的对象
     if ([item isKindClass:[NSData class]]) {
        // ...
     }
     如果item是NSMutableData类实例化的对象,而该类是NSData类的子类,那么[item isKindOfClass:[NSData class]]的值也是TRUE,而[item isMemberOfClass:[NSData class]]的值为False。
     如果item是NSData类实例化的对象,那么[item isMemberOfClass:[NSData class]]的值也是TRUE。
     3、respondToSelector:selector
     // 检查对象是否包含这个方法
     4、conformsToProtocol:protocol
     检查对象是否符合协议,是否实现了协议中所有的必选方法。
     
 参考文章:http://blog.csdn.net/u014536527/article/details/51010973
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容