Object-C 作为面向对象一种语言。具备内省这样一个强大的特性。内省是对对象揭示自己作为一个运行时对象的信息的一种能力。这些信息包括对象在继承树上的位置,对象是否遵循特定的协议,以及是否可以响应特定的消息。NSobject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别。
OC运行时内省的4个方法:
判断对象类型:
-(BOOL) isKindOfClass: 判断是否是这个类或者这个类的子类的实例
-(BOOL) isMemberOfClass: 判断是否是这个类的实例
判断对象or类是否有这个方法
-(BOOL) respondsToSelector: 判读实例是否有这样方法
+(BOOL) instancesRespondToSelector: 判断类是否有这个方法
- (BOOL)conformsToProtocol:(Protocol *)aProtocol; 检查对象是否符合协议,是否实现了协议中所有的必选方法。