2010-11-22 51 views
1

我有一個UIViewController子類,它爲每個單元格在tableview中異步加載一組圖像,並由一個單獨的下載類來處理。我將所有這些下載請求列表保存在一個字典中,該字典與請求圖像的單元索引關聯。將清理代碼放在UIViewController中的位置?

我的問題是,我應該把如果視圖 - 控制被彈出navcontroller即取消圖像下載的代碼?我需要這樣做,因爲如果用戶在仍然有圖像被下載的情況下返回(這可能需要一段時間),那麼當它們完成下載時,視圖控制器已經被釋放。

我不能把它放在viewWillDisappear方法,因爲我不想停止下載,如果用戶點擊一個單獨的標籤上,只有當命中後退按鈕。現在,我把這段代碼放在viewcontrollers的dealloc方法中,雖然它看起來不正確,但它工作正常。我想過使用viewDidUnload方法,但似乎只有在低內存警告時才調用它。

任何想法?

回答

3

dealloc是這個完美的地方作爲視圖控制器被釋放,您有責任清理你的東西了。

+0

嗨,THX的快速反應。這是否包括像通過字典枚舉和調用它包含的每個對象的方法之類的東西?只是從來沒有在dealloc中看到[someobject release]以外的代碼。 – James 2010-11-22 22:55:52

0

您可能要考慮將代碼viewWillDisappear:不管怎麼說,畢竟如果你導航到屏幕需要加載任何這將是由背景圖片的加載變慢......

相關問題