美文网首页
类的本质以及存储细节

类的本质以及存储细节

作者: FunkyRay | 来源:发表于2017-07-04 10:13 被阅读5次
    图1
    图2

    分析:

    Person *p = [[Person alloc] init];

    • 根据代码[Person alloc]方法会先在堆中创建Person的类对象,类对象里存放着所有属性、对象方法和isa指针。
    • Person的类对象的创建是根据Person的元类对象创建的,元类对象里存放着类方法和isa指针;Person的类对象的isa指针指向Person的元类对象。
    • Person的元类对象的创建是根据Person的根元类对象创建的,根元类对象里存放着isa指针和new方法;Person的根元类对象的isa指针指向自己,根元类对象也就是NSObject
    • 根据Person的类对象创建出Person实例对象,实例对象里存放着对象属性和isa指针;Person实例对象的isa指针指向Person的类对象。
    • 代码[[Person alloc] init]方法中的init将对象返回。
    • 存放在栈中的局部变量p指向堆中的实例对象。

    相关文章

      网友评论

          本文标题:类的本质以及存储细节

          本文链接:https://www.haomeiwen.com/subject/abpthxtx.html