據蘋果對View Controller Lifecycle文檔,我注意到有關dealloc方法如下:我應該在dealloc中釋放實例變量和屬性嗎?
重寫此方法只執行您 視圖控制器類的任何最後一分鐘的清理。存儲在實例變量和 屬性中的對象會自動釋放;你不需要明確地釋放它們 。
我一直在教我發佈實例變量和屬性,我擁有在我的視圖控制器的dealloc方法。
我意識到的唯一例外是使用ARC時,但在本文檔中沒有提到ARC。
這是正確的嗎?
據蘋果對View Controller Lifecycle文檔,我注意到有關dealloc方法如下:我應該在dealloc中釋放實例變量和屬性嗎?
重寫此方法只執行您 視圖控制器類的任何最後一分鐘的清理。存儲在實例變量和 屬性中的對象會自動釋放;你不需要明確地釋放它們 。
我一直在教我發佈實例變量和屬性,我擁有在我的視圖控制器的dealloc方法。
我意識到的唯一例外是使用ARC時,但在本文檔中沒有提到ARC。
這是正確的嗎?
由於您發佈的指南最近已更新,我很確定它假設您使用ARC(畢竟,如果可能,您應該這樣做)。
你是對的,在ARC之前,你必須在dealloc
方法中發佈你的實例變量(你可以在App-Delegate的dealloc
中看到舊的XCode模板)。使用ARC時,會自動處理(如本指南所述),所以除特殊需求外,dealloc
方法不再使用。
正如JiaYow提到的,該指南已更新至ARC。在這裏,您可以找到視圖控制器的傳統指南:https://developer.apple.com/library/ios/#documentation/WindowsViews/Conceptual/ViewControllerPGforiOSLegacy/BasicViewControllers/BasicViewControllers.html#//apple_ref/doc/uid/TP40011381-CH101-SW1
不錯,謝謝。 – Camsoft 2012-03-02 13:49:01
思想很多,但文檔不清楚。我正在使用ARC引入之前構建的代碼。 – Camsoft 2012-03-02 13:41:41