自动释放并分配给零

时间:2014-07-04 05:34:38

标签: objective-c memory-management

当我们将nil分配给自动释放的对象时,内存管理的行为如何?它是立即解除分配还是与自动释放池解除分配?

等等,

NSString *myString = [NSString stringWithFormat@"%@","MY_STRING"]; //Autorelease object

myString = nil;//What will happen here ? Does it get deallocated ? Or Will it get deallocated with the autolrelease pool ?  

1 个答案:

答案 0 :(得分:2)

每当使用nil分配任何局部变量时,该变量将其指向内存更改为0x0000000。这样,之前地址中显示的值将无法解释。

而且,Autoreleasepool的功能是释放当前正在运行的程序或项目或特定环境的未引用地址。因此,先前指出的值由Autoreleasepool释放。