isMemberOfClass 和 isKindOfClass 的区别(从源码角度分析)

很多人对这道面试题的解答就像下面:

1.isMemberOfClass:用于判断一个对象是否属于当前这个类;

2.isKindOfClass:用于判断当前对象是否属于这个类或者这个类的子类;

简直就是以偏概全,胡说七道(因为这种解释不全错)!

apple 自己是这么说的:

isKindOfClass: Returns a Boolean value that indicates whether the receiver is an instance of given class or an instance of any class that inherits from that class.

isMemberOfClass: Returns a Boolean value that indicates whether the receiver is an instance of a given class.

在看源码:

https://opensource.apple.com/source/objc4/objc4-532.2/runtime/NSObject.mm 

这下你懂了吧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容