iOS底层 -- OC对象的分类
2020-08-21 本文已影响0人
happy神悦
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)