OC对象的分类

作者: 春风依旧 | 来源:发表于2019-03-24 12:39 被阅读0次

    前言: OC中的对象可以分为3类: instance(实例)对象、 class(类)对象、 meta-class(元类)对象

    一、instance(实例)对象

         instance对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象。

    • instance 对象在内存中存储的信息包括:
      1、isa 指针
      2、 其他成员变量
    instance对象.png

    二、Class(类)对象

    • 实例对象决定成员变量的值,类对象决定成员变量(类型,名称)
    • 一个类的类对象,在内存中有且只有一个class对象
    • class对象在内存中存储的信息主要包括
      1、isa指针
      2、superClass指针
      3、类的属性信息(@property)、类的对象方法信息(instance method)
      4、类的协议信息(protocol)、类的成员变量信息(ivar)
    类对象存储信息.png

    三、meta-class(元类)对象

    • 每个类在内存中有且只有一个meta-class对象(元类)
    • meta-class对象和class对象的内存结构是一样的,当时用途不一样
    • 在内存中存储的信息主要包括:
      1、isa指针
      2、superclass指针
      3、类的类方法信息(class method)
    元类对象存储信息.png OC对象的区别.png

    相关文章

      网友评论

        本文标题:OC对象的分类

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