ios开发进阶-对象模型(1)

isa 指针

在object-c 中每个对象都有一个isa指针指向它的类。

类中包含信息如下:

1.类的描述信息

2.对象的成员变量列表

3.对象的方法列表

4.对象接受消息的列表

类也是个对象,是另一个类的实例,这个类叫做元类(metaClass)。类的isa指针指向(metaClass)

1.类方法都保存在元类中

2.元类存在继承关系,元类顶层叫做根元类(rootClass),根元类的isa指针指向自己,形成闭环

即NSObject中的isa指针指向自己。

3.类方法被调用时,元类先查找本身是否有该类方法,没有则去查找父元类,直到继承链顶层。


总结

对象的 成员变量、方法列表、消息列表 都保存在它的类中,通过isa指针来指向

类的方法 都保证在它的metaClass中,通过isa指针来指向。

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

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,776评论 0 9
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,638评论 33 466
  • 首先说明,这篇文章几乎都是抄录的别人的博客,简书文章,在此总结,只是为了方便记忆和以后阅读,如果有什么失礼的地方,...
    LiYaoPeng阅读 5,069评论 1 14
  • 原文出处:南峰子的技术博客 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了...
    _烩面_阅读 1,258评论 1 5
  • 有这样一个画面。孩子刚刚开始吃饭,一旁的大人就开始唠叨:“宝贝,来,多吃点蔬菜。你就是不爱吃蔬菜,你看你的头发黄黄...
    VK在上海阅读 482评论 0 1