我只是简单地发布对象:
[myObj release];
我见过其他人补充道:
[myObj release]; myObj = nil;
后者是否更有利,因为现在永远不会有对该指针的引用?
答案 0 :(得分:4)
只是为了确保可能发送给myObj
的其他连续消息不会抛出异常。可以在Objective-C中向nil
发送消息。
否则,myObj
仍然指向已的内存地址,访问它可能会导致BAD_ACCESS
错误。
答案 1 :(得分:1)
据我所知,这完全取决于myObject的范围。
如果myObject范围以release语句结束,则将其设置为nil没有任何优势
如果myObject作用域不以release语句结束,则将对象设置为nil可使对象访问安全。 myObject内存很有可能被释放,并且您尝试访问此内存位置,这将导致异常。