performSelector是运行时系统负责去找函数/方法的,在编译时候不做任何校验;但是直接调用肯定在编译是会校验。
(1) isMemberOfClass 用于判断是否是某个类的实例
(2) isKindOfClass 判断是否为某个类的实例或者某个类子类的实例
(3) respondsToSelector 用于判断某个类型或者对象是否有能力回应(调用)指定的方法