isa理解

由类生成对象。对象的结构体实例通过isa这个成员变量来保持类的结构体实例指针,建立类与对象间的关系。oc运行时为每个类的结构体实例分配空间,该结构体实例有成员变量、方法名称、函数指针、属性。

类的结构体就是class_t结构体,这个结构体基于objc_class结构体

struct objc_class{

    objc_class *isa;

}

struct class_t{

    struct class_t *isa;

    struct class_t *superclass;

    Cache cache;

    IMP *vtable;

    uintptr_t data_NEVER_USE;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,894评论 0 9
  • Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的...
    有一种再见叫青春阅读 3,790评论 0 3
  • 参考链接: http://www.cnblogs.com/ioshe/p/5489086.html 简介 Runt...
    乐乐的简书阅读 6,483评论 0 9
  • 本文转载自:http://southpeak.github.io/2014/10/25/objective-c-r...
    idiot_lin阅读 4,492评论 0 4
  • 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的转载 这篇文章完全是基于南峰子老师博客的...
    西木阅读 30,798评论 33 466

友情链接更多精彩内容