您的位置:首页 > 其它

对象的内存管理

2015-12-16 18:07 120 查看
//创建一个对象

person *p = [person new];

//初始化

p-> _name =@"柯蓝";

p->_age = @"13";

NSLog(@" 姓名:%@name, 年龄:%d age",p->_name,p->age);

//申请内存空间

//给实例化初始化

//返回空间地址

//1.申请的内存空间在存放在哪里?

new 申请的内存空间存放在堆区(程序动态分配的内存空间)

当new的时候内存布局是怎样的

//初始化的时候

如果实例化对象是基本数据类型,此时初始化为零

如果实例化对象是OC字符串内型,初始化为NULL

//2.实例化对象又保存在什么地方?

堆区

P(指针变量)存放在栈区

//3.对象方法保存在什么地方

代码区

为什么使用[p run]就可以调用方法,怎么调用的/

首先找P对应的堆区空间,然后再找_isa指针, _isa找到代码去的空间,在空间找run 方法;

4.一个类可以创建多个对象

person *p1 = [person new];

p1->_name = @"贝娜";

p2->_age = @"33";

NSLog(@" 姓名:%@ , 年龄:%d",p1->_name,p1->_age);

[p1 run]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: