美文网首页
iOS底层 -- OC对象的分类

iOS底层 -- OC对象的分类

作者: happy神悦 | 来源:发表于2020-08-21 20:34 被阅读0次

    Objective-C中的对象,简称OC对象,主要可以分为3种

    • instance对象(实例对象)
    • class对象(类对象)
    • meta-class对象(元类对象)

    1.instance对象(实例对象)

    • instance对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象
    • object1、object2是NSObject的instance对象(实例对象)
    • instance对象在内存中存储的信息包括
      • isa指针
      • 其他成员变量

    2.class对象(类对象)

    • objectClass1 ~ objectClass5都是NSObject的class对象(类对象)
    • 它们是同一个对象,每个类在内存中有且只有一个class对象
    • class对象在内存中存储的信息主要包括
      • isa指针
      • superclass指针
      • 类的属性信息(property)
      • 类的对象方法信息(instance method)
      • 类的协议信息(protocol)
      • 类的成员变量信息(ivar)

    3.meta-class对象(元类对象)

    • objectMetaClass是NSObject的meta-class对象(元类对象)
    • 每个类在内存中有且只有一个meta-class对象
    • meta-class对象和class对象的内存结构是一样的,但是用途不一样,在内存中存储的信息主要包括
      • isa指针
      • superclass指针
      • 类的类方法信息(class method)

    相关文章

      网友评论

          本文标题:iOS底层 -- OC对象的分类

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