·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> 内存模型

内存模型

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

NSString *someString = @"The string";

// 对象所占内存总是分配在堆空间中,而绝不是栈上。不能在栈中分配Objective-C对象。

// NSString stackString;// error:interface type cannot be statically allocated

NSString *anotherString = someString;// 只有一个NSString 实例,然而有两个变量指向此实例,这说明当前栈帧里分配了两块内存,每块内存的大小都能容下一个指针(32位架构--4B,64位架构--8B)。这两块内存里的值都一样,就是NSString实例的内存地址。如图:

图1-1 此内存布局图延时了一个分配在堆中的NSString实例,有两个分配在栈上的指针