我为什么要做[对象释放]; 对象=无; 解除分配对象时?

Ste*_*eve 2 iphone memory-management dealloc ios4 ios

我想理解为什么这样做会很有用(假设先前已经分配了"对象"):

[object release]; 
object=nil;
Run Code Online (Sandbox Code Playgroud)

感谢帮助,

斯特凡

nev*_*ing 5

即使您释放了一个对象,您的变量仍然会指向某个东西.它指出的是未定义的.它仍然可以指向旧对象,或者指向内存中的某个点.将其设置为nil可以避免将消息发送到它指向的任何内容,并防止错误(消息传递nil什么也不做).

这是一个更好地说明它的答案:设置指向nil,objective-c的指针