2009-10-10 105 views
0

我有一個應用程序,其中包含由UITabBarController派生的類管理的多個選項卡(我爲子類UITabBarConteroller處理所有視圖的抖動事件的唯一原因)。 3個視圖來自子類UIViewContentroller類,一個視圖是UINavigationController,它顯示一個表。 在每一個控制器我,包括我的一個子類,我有這樣的:UITabViewController內存管理

  • (空)didReceiveMemoryWarning {// 發佈的觀點,如果沒有上海華。 [super didReceiveMemoryWarning];

應用程序效果很好。我的問題是UITabBarController的默認實現如何在低內存條件下處理自動視圖卸載。

只有從UINavigationController驅動的控制器自動卸載(我看到viewDidUnload被調用)。 viewDidUnload不會被UITabBarController管理的任何其他視圖控制器調用。

爲什麼?當您的視圖控制器的視圖被刪除,釋放

感謝

回答

0

viewDidUnload被調用,而這發生在VC接收didReceiveMemoryWarning後。檢查首先調用的方法。如果沒有被調用,其他事情正在發生,但如果它被調用,那麼您的視圖可能已被保留或未被正確刪除。