关于OC中对象的地址

来源:互联网 发布:如何找淘宝客推广 编辑:程序博客网 时间:2024/06/04 20:01

今天研究了一下一个对象方法:class,  [self.class]的的返回值是本类在代码区中的地址,但是可以用NSString 接受到它的返回值,而且是用%@打印出的是类的名称,所以可以得出

在类存储的时候,整个类的地址就是存储类名这个属性的地址,并且这个属性的数据类型是NSString.

之后我又在类中加了一个属性 @property NSString *name; 当我用id p1 = l1.name;还有id p2 = l1;然后用%p打印p1,p2的时候法相结果并不一样,这说明,我们自己定义的属性,并不是对象的第一个属性,而用%@打印p2我发现是<类名:类的地址>,不由得让我想起来description的内容(先不管这个),所以说明对象中第一个属性是一个NSString变量,内容是

@"<类名:类的地址>",NSObject的类中就定义了一个属性,就是isa指针,我就想是不是继承的属性会放在最前面,但是老师讲的isa指针是指向类在代码区中的地址的,但是它本身是不可以用NSString来接受的,但是直觉告诉我,isa的地址就是对象的地址,他也是对象的第一个属性,不过它里面存储的内容,我现在不知道怎么可以拿到.盼望大神回帖,在此谢过!

0 0
原创粉丝点击