OC对象的本质(上):OC对象的底层实现原理
OC对象的本质(中):OC对象的种类
OC对象的本质(下):详解isa&superclass指针
Objective-C中的对象,简称OC对象,主要分3类
instance
对象(实例对象)class
对象(类对象)meta-class
对象(元类对象)
instance 实例对象
instance
对象就是通过alloc
方法创建出来的对象,每次调用alloc
方法都会生成新的instance对象
NSObjcet *object1 = [[NSObject alloc] init];
NSObjcet *object2 = [[NSObject alloc] init];
上面的object1
object2
都是NSObject的instance对象(实例对象),因为他们都有自己的独有内存,所以是两个不同的对象
instance
对象在内存中存放的信息包括
isa
指针(因为基本上我们常用的类以及自定义类都继承自NSObject
,所以我们这里讨论的instance
里面都包含isa
指针)- 其他
成员变量
class 类对象
class
对象的作用是用来描述一个instance
对象,它内部存放一个类的属性信息(@property
)、对象方法信息(instance method
)、协议信息(protocol
)、成员变量信息(ivar
),另外class对象里面还有两个指针,isa
指针 和superclass
指针。
可以通过一下方法,获取一个类的类对象
#import <Foundation/Foundation.h>
#import <objc/runtime.h>
i