OC对象的分类
1. instance (实例对象)
- instance对象就是通过类alloc出来的对象,每次调用alloc都会产生新的instance对象。
- instance对象在内存中存储的信息包括
2. 类对象 (在内存中只有一份)
NSObject * object = [[NSObject alloc] init];
Class cls1 = [object class];
Class cls2 = [NSObject class];
Class cls3 = object_getClass(object);//runtime api
- 类对象在内存中存储的信息主要包括:
- isa指针
- superclass指针
- 类的属性信息(@property)、类的对象方法、类的协议信息、类的成员变量信息(字面量 和类型)(ivar)
3. 元类对象 (Meta-class)每个类在内存中有且只有一个meta-class对象
//获取元类对象,需要将类对象作为参数传入
Class metaClass = [object_getClass([NSObject class])];
- Meta-class对象和class对象的内存结构是一样的,但是用途不一样。
主要包含以下信息:
- isa指针
- superclass指针
- 类的类方法信息
本文标题:OC对象的分类
本文链接:https://www.haomeiwen.com/subject/amanbktx.html
网友评论