- 在代码段存储类的那块空间是个什么类型的。在代码顿中存储类的步骤
- 先在代码段中创建一个Class对象,Class是Foundation框架中的一个类,这个Class对象就是用来存储类信息的。
- 将类的信息存储在这个Class对象之中,这个Class对象,至少有3个属性。
- 类名:存储的这个类的名称
- 属性:存储的这个类具有哪些属性
- 方法: 存储的这个类具有哪些方法
所以,类是以Class对象的形式存储在代码段的,存储类的这个Class对象,我们也叫做类对象,用来存储类的1个对象。所以,存储类的类对象也有1个叫做isa指针的属性,这个指针指向存储父类的类对象。
- 如何拿到存储在代码段中的类对象
调用类的类方法class就可以拿到存储类的类对象的地址。
//c1是指针,在class不用加*
Class c1=[person calss];
调用对象的对象方法class就可以得到存储这个对象所属的类的class对象的地址。
Person *p1 = [person new]
对象中的isa指针其实就是代码段中存储类的类对象的地址。
3. 如何使用对象
- c1对象就是person类,c1万起等价于person
- 在使用person的地方完全可以使用c1来替代
- 可以使用类对象来调用new方法,创建存储在类对象中的类的对象
person *p1=[person new];
Class c1 = [person class];
//其实创建Person对象,也可以这么做
Person *p2 = [c1 new];
- 使用类对象,只能调用类的类方法