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