iOS 基础之NSObject中的一些方法

来源:互联网 发布:php post接口 编辑:程序博客网 时间:2024/05/22 14:08

前言

在阅读某第三方库的代码时使用到了NSObject中的respondsToSelector方法,感到非常的迷惑,这篇文章简单的整理了它的使用方法,并罗列了NSObject中的其它一些比较常用的方法

正文

下面两个方法加上注释以后很容易理解

-(BOOL) isKindOfClass: classObj //用来判断是否是某个类或其子类的实例-(BOOL) isMemberOfClass: classObj //用来判断是否是某个类的实例

那么下面两个方法就不太好理解了

-(BOOL) respondsToSelector: selector+(BOOL) instancesRespondToSelector: selector 

下面三段话来自instancesRespondToSelector与respondsToSelector的区别

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

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

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

ignore :instancesRespondToSelector 被类调用表示:在这个类的实例中是否包含指定的@selector方法
respondsToSelector可以被类调用表示:这个类中是否存在指定的@selector这个类方法(⚠️:类方法)
也可以被实例调用表示:这个类的实例中是否包含指定的@selector方法

参考资料

respondsToSelector的相关使用
instancesRespondToSelector与respondsToSelector的区别

0 0