设置object = nil和 vs 和object = nil有什么区别?
这两个代码片段有什么区别:
object = nil; [object release]
VS
[object release]; object = nil;
这是最好的做法?
object = nil; [object release]
不要这样做。 你正在发送一个无效的对象release
消息,什么都不做。 但是由对象引用的对象仍然在内存中,因为它从来没有收到release
信息。
[object release]; object = nil;
在这里你释放这个对象,为了方便和安全,你把它设置为它的引用。 所以你可以调用(当然错误:-))该对象的任何方法,应用程序不会崩溃。
但是,如果您使用保留属性@property(nonatomic, retain)
,请调用:
self.object = nil;
等于打电话:
[object release]; object = nil;