Objective-C的内省

Object-C 作为面向对象一种语言。具备内省这样一个强大的特性。内省是对对象揭示自己作为一个运行时对象的信息的一种能力。这些信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSobject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。  

OC运行时内省的4个方法:

判断对象类型:

-(BOOL) isKindOfClass: 判断是否是这个类或者这个类的子类的实例

-(BOOL) isMemberOfClass: 判断是否是这个类的实例

判断对象or类是否有这个方法

-(BOOL) respondsToSelector: 判读实例是否有这样方法

+(BOOL) instancesRespondToSelector: 判断类是否有这个方法

– (BOOL)conformsToProtocol:(Protocol *)aProtocol;  检查对象是否符合协议,是否实现了协议中所有的必选方法。

    原文作者:刘志康的简书
    原文地址: https://www.jianshu.com/p/825b1278d481
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞