Objective-C基础学习之对象的存储细节
作者:
WenJim | 来源:发表于
2017-08-29 11:55 被阅读7次
1.对象的存储细节
- 类创建对象,每个对象在内存中都占据一定的存储空间,每个对象都有一份属于自己的单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份存储空间,类的方法存储于此。

对象存储的过程.png
2.isa指针
- 每一个对象都包含一个isa指针.这个指针指向当前对象所属的类。
- [p eat];表示给p所指向的对象发送一条eat消息,调用对象的eat方法,此时对象会顺着内部的isa指针找到存 储于类中的方法,执行。
- isa是对象中的隐藏指针,指向创建这个对象的类。
- 通过isa指针我们可以在运行的时候知道当前对象是属于那个Class(类)的

isa指针的作用.png
3.使用一个类创建多个对象
Person * p = [Person new];
p->_age = 27;
p->_height = 1.75;
p->_weight = 73.0;
Person * p2 = [Person new];
p2->_age = 26;
p2->_height = 1.72;
p2->_weight = 75.0;

一个类创建多个对象.png
本文标题:Objective-C基础学习之对象的存储细节
本文链接:https://www.haomeiwen.com/subject/ocdodxtx.html
网友评论