Objective-C的内省

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

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

判断对象类型:

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

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

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

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

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

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

你可能感兴趣的:(Objective-C的内省)