记录NSObject 的关系

NSObject的关系

  • NSProxy 没有继承NSObject,只实现了NSObject的协议,所以NSProxy类没有多次的消息转发,它的消息转发机制直接转发到forwardInvocation方法
  • 对象是Class的实现,Class是MetaClass的实现
  • 所有Class都从上往下继承,RootClass就是NSObject,NSObject没有继承,NSObject的superClass指向NULL
  • 每个Class都有一个MetaClass,每个MetaClass都从上往下继承,RootMetaClass(即NSObject的metaClass)继承自NSObject
  • 每个MetaClass的Class(即isa指针)都指向RootMetaClass
  • 由于RooMetaClass继承NSObject,所以给NSObject扩展实例方法,可以即当做实例方法用,也可以当做类方法用

PS: 所谓的类方法只不过是MetaClass的实例方法

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

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,762评论 0 9
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 一、OC语言的特性 首先,想要了解iOS的消息发送机制,我们需要先理解OC这门语言。相较于静态语言而言,动态语言是...
    学知无涯阅读 811评论 0 9
  • 转载:http://yulingtianxia.com/blog/2014/11/05/objective-c-r...
    F麦子阅读 760评论 0 2
  • 1.理解NSObject和元类 1.1 在OC中的对象和类是什么 对象是在objc.h中定义的 类是在runtim...
    HWenj阅读 940评论 0 3