Tekkaman

导航

 

OC之respondsToSelector

 1、instancesRespondToSelector是类方法,用于判断此类实例是否能处理某个方法(包括基类方法)。

 2、respondsToSelector是实例方法也是类方法,用于判断某个类/实例是否能处理某个方法(包括基类方法)。

  

 3、下面是objc-runtime源码,可以看到这3个方法最终都调用class_respondsToSelector来实现功能,而class_respondsToSelector从父类中去寻找是否有对应的方法。

  

  2个respondsToSelector方法类似,均是先取出isa指针,然后在isa指向的method_list及父类的method_list中去寻找selector,而instancesRespondToSelector在self的method_list及父类的method_list中去寻找。

 

posted on 2013-04-25 10:18  Tekkaman  阅读(6648)  评论(0编辑  收藏  举报