OC对象的分类
2019-03-24 本文已影响0人
春风依旧
前言: OC中的对象可以分为3类: instance(实例)对象、 class(类)对象、 meta-class(元类)对象
一、instance(实例)对象
instance对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象。
- instance 对象在内存中存储的信息包括:
1、isa 指针
2、 其他成员变量
二、Class(类)对象
- 实例对象决定成员变量的值,类对象决定成员变量(类型,名称)
- 一个类的类对象,在内存中有且只有一个class对象
- class对象在内存中存储的信息主要包括
1、isa指针
2、superClass指针
3、类的属性信息(@property)、类的对象方法信息(instance method)
4、类的协议信息(protocol)、类的成员变量信息(ivar)
三、meta-class(元类)对象
- 每个类在内存中有且只有一个meta-class对象(元类)
- meta-class对象和class对象的内存结构是一样的,当时用途不一样
- 在内存中存储的信息主要包括:
1、isa指针
2、superclass指针
3、类的类方法信息(class method)