iOS 的那些事儿

iOS 内省方法浅谈

2017-09-28  本文已影响83人  管乐_VICTOR

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
上一篇下一篇

猜你喜欢

热点阅读