内省(Introspection)是对象揭示自己作为一个运行时对象的详细信息的一种能力.NSObject协议和类定义了很多内省方法,用于查询运行时信息,以便根据对象的特征进行识别.
在iOS开发过程中,有效的使用内省方法.有助于避免错误地进行消息派发、错误地假设对象相等、以及类似的问题.明智地使用内省可以使面向对象的程序更加高效和强壮.
OC中的内省方法有:
1,isKindOfClass:检查本实例对象,是否是某个类的对象,包括继承的子类.
2,isMemberOfClass:检查本实例对象,是否是某个类的对象,不包括继承的子类.
3,respondsToSelector:检查本实例对象是否能调用此方法
4,conformsToProtocol:检查本实例对象是否遵守了某个协议,并实现了此协议的@required方法
参考博客:http://mikixiyou.iteye.com/blog/1743868