1,实例对象信息
方法1:
- 地址:直接打印:p person
- 属性:直接打印:p person->_age
- isa指针的地址:直接打印p/x (long)person->isa
方法2:断点后光标放在实例对象上,可以显示对象地址,属性值,isa指针的值
方法3:利用nslog日志打印,%p打印出地址
2,类对象信息
1,地址:%p打印或者在调试结构区查看
2,查看源码,重写结构体信息,再将类对象强制转换获取,可以具体查看类对象中的结构
- isa指针:
- superClass指针:
- 实例对象的相关信息:
3,元类对象
1,地址:%p打印或者在调试结构区查看
2,查看源码,重写结构体信息,,再将元类对象强制转换获取,可以具体查看元类对象中的结构
- isa指针
- superClass指针
- 类对象的相关信息
4,注意
1,实例对象的isa指针,实际上是不等于类对象的地址,需要isa位与一个ISA_MASK
2,类对象的superClass指针,直接等于父类的类对象地址,不用位与计算
5,遇到的面试题
1,对象的isa指针指向哪里?
- instance对象的isa指向class对象
- class对象的isa指向meta-class对象
- meta-class对象的isa指向基类的meta-class对象
2,对象的isa指针指向哪里?
- instance对象的isa指向class对象
- class对象的isa指向meta-class对象
- meta-class对象的isa指向基类的meta-class对象