我在非ARC應用程序中動態地更改我的應用程序中的window的rootViewController。更改rootViewController窗口的內存管理
我的問題是我需要釋放以前分配的rootViewController嗎?如何使用先前分配的rootViewController完成內存管理?
我的第二個問題是關於newrootViewController。我如何管理新的rootViewController窗口的內存。
任何幫助將不勝感激....
我在非ARC應用程序中動態地更改我的應用程序中的window的rootViewController。更改rootViewController窗口的內存管理
我的問題是我需要釋放以前分配的rootViewController嗎?如何使用先前分配的rootViewController完成內存管理?
我的第二個問題是關於newrootViewController。我如何管理新的rootViewController窗口的內存。
任何幫助將不勝感激....
賈森就在上面他的意見,在現實中也有極少數的理由不使用ARC。自動參考計數與手動參考計數一樣有效。
記住它不是垃圾回收,保留和釋放語句只是在編譯時添加。
要回答你的問題,如果你在RootViewController的所謂alloc
/new
或copy
然後是必須釋放先前分配的控制器。
記住是一個內存管理勢力沒有足夠的理由不使用ARC! ;)
關於newRootViewController對象,只要您將其設置爲窗口的「根視圖控制器」,窗口就會保留它,因此您可以將其釋放。
請再看看這個問題:Retaining rootViewController?
您應該使用ARC!如果無法在任何地方使用,則可以將其打開爲每個文件。只要在你處理根視圖控制器的這個類中打開它(它不必爲視圖控制器開啓,只需要在其中更改它的類)。將編譯選項'-fobjc-arc'僅添加到該翻譯單元! –