2011-12-28 51 views

回答

5

這是爲了確保您不會嘗試重複使用剛發佈的對象。

通過將其設置爲nil,您可以確保將來丟棄的任何消息(標準nil對象的行爲)不會造成問題。

+1

在旁註中,通常不需要在'dealloc'方法中將ivar設置爲零。除非一個人用超類ivars做黑客東西。 – JustSid 2011-12-28 09:38:20

2

只因爲這是安全的做法。

在dealloc中,除非你使用線程,否則它沒有什麼意義,但否則每當你將nil賦給一個對象(除非它是一個屬性)時總是很好。

1

據我所知,這是不必要的dealloc。但是,在釋放任何其他方法中的對象時,指針仍然保留,但它指向的對象將不再存在,從而在向其發送消息時導致崩潰。

通過將指針設置爲零,您確定發送給它的任何消息都將被忽略而不會導致應用程序崩潰(或導致奇怪的行爲)。

相關問題