繁体   English   中英

释放或释放目标c中的最佳实践?

[英]dealloc or releasing best practice in objective-c?

我只是简单地释放对象:

[myObj release];

我看到其他人补充说:

[myObj release]; myObj = nil;

后者是否更有利,因为现在将永远不会引用该指针?

只是要确保可能发送给myObj其他连续消息不会引发异常。 在Objective-C中可以将消息发送到nil

否则, myObj仍将指向其到达的内存地址,访问它可能会导致BAD_ACCESS错误。

据我说,这完全取决于myObject的范围。

  1. 如果myObject范围以release语句结束,则将其设置为nil没有任何好处。

  2. 如果myObject范围未以release语句结尾,则将对象设置为nil可使对象访问安全。 myObject内存很有可能被释放,并且您尝试访问此内存位置,这将导致异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM