的是這兩個代碼段之間的區別:設置object = nil和[object release] vs [object release]和object = nil有什麼區別?
object = nil;
[object release]
Vs的
[object release];
object = nil;
這是最好的做法是什麼?
的是這兩個代碼段之間的區別:設置object = nil和[object release] vs [object release]和object = nil有什麼區別?
object = nil;
[object release]
Vs的
[object release];
object = nil;
這是最好的做法是什麼?
object = nil;
[object release]
不這樣做。您正在發送一個release
消息在一個無所事事的零對象上。但是由對象引用的對象仍然在內存中,因爲它從未收到過release
消息。
[object release];
object = nil;
在這裏,您釋放的對象,爲了方便和安全,您設置nil
其參考。所以你可以調用(當然錯誤:-))該對象上的任何方法,並且該應用程序不會崩潰。
但是如果你使用一個保留的財產@property(nonatomic, retain)
,美其名曰:
self.object = nil;
等於致電:
[object release];
object = nil;
相關:http://stackoverflow.com/questions/6778793/ – Jano