首页 > 代码库 > IOS--Day06----isKindOfClass isMemberOfClass 动态识别(Dynamic types)

IOS--Day06----isKindOfClass isMemberOfClass 动态识别(Dynamic types)

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

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

--------------------------

-(BOOL)respondsToSelector:selector 

+(BOOL)instancesRespondToSelector:selector

 

instancesRespondToSelector只能写在类名后面,respondsToSelector可以写在类名和实例名后面。

[类 instancesRespondToSelector]判断的是该类的实例是否包含某方法,等效于:[该类的实例 respondsToSelector]。

 [类 respondsToSelector]用于判断是否包含某个类方法。

-----------

-(id)performSelector:selector  调用此对象指定的selector

和直接调用的区别:

performSelector 是运行时系统负责去找方法的,在编译时候不做任何校验,如果直接调用编译是会自动校验.

直接调用方法时候,一定要在头文件中声明该方法的使用,也要将头文件import进来.而使用performSelector时候,可以不用import头文件包含方法的对象,直接用

performSelector调用即可.

 

IOS--Day06----isKindOfClass isMemberOfClass 动态识别(Dynamic types)