我有些清理,需要在共享資源的任何時間我的視圖控制器之一進行辭退/彈出/卸載?這可以是當用戶點擊該單獨屏幕上的後退按鈕或者如果對popToRootViewController進行調用(在這種情況下,我理想地能夠清除每個被彈出的控制器)。你可以檢測何時UIViewController已被解散或彈出?
明顯的選擇將在viewDidUnload中這樣做,但當然,這不是卸載的工作方式。有沒有辦法將所有情況都捕獲到ViewController從堆棧中移除的位置?
編輯:忘了提,我做這個使用Xamarin,這樣可能會或可能不會影響到答案。
此共享資源創建的地點/時間?需要做什麼樣的清理?而確實,當在應用程序中的任何視圖控制器駁回做這方面的需求,或者只在特定視圖控制器類的實例後果? – rmaddy 2014-10-27 18:53:29
@rmaddy:在加載資源添加到ViewController。清理是資源上內部方法的一部分,它執行多個我不清楚的事情,但它應該被調用。它需要被稱爲每個單獨的控制器被解僱。如果我回到屏幕上,該屏幕將需要調用該方法對資源的引用。如果我有4個屏幕深度並且調用popToRootViewController,那麼彈出的3個屏幕都需要調用該方法。 – cain 2014-10-27 19:04:03
然後'dealloc',由@SteveMadsen提到的,可能是最好的地方。 – rmaddy 2014-10-27 19:06:38