我正在實現一個下載系統,我有這個表格視圖元素來自核心數據。保持跟蹤UITableViewCell的動態
我希望用戶按下單元格上的下載按鈕,系統將開始下載相關文件。
我有我的下載庫,可以溝通和通過委託方法報告進度,我的問題是,我不知道如何關聯/正確地重新顯示/更新可重用單元格中的進度視圖。
下載庫與NSURLs一起工作,我可以繼承NSURL並追加一個屬性協議來表示我的核心數據實例,但即使如此,保持UI更新單元格的最佳方法是什麼?
每次代表接收事件時,我應該打電話給[self.tableView reloadData]
嗎?
建議是好的;我雖然關於'tableView:willDisplayCell:forRowAtIndexPath:',但將下載庫委託設置在單元中,這意味着它將接收所有下載事件,因爲庫不能有多個委託。所以我們的想法是將表控制器設置爲下載庫的委託,實現這些方法並根據委託方法執行UI任務(例如進度)。 –
我現在的問題是從委託方法(最有可能不知道任何關於單元格的東西,最多隻有NSURLs)追趕正確的單元格,方法是查看可能附加屬性的對象,我將使用它來查找核心數據收集。我有核心數據記錄後找到單元格(?),檢查它是否可見(不起作用),等等。 –
我不確定別人是怎麼做的,在音樂應用程序中你可以看到一個下載圖標每個單元格下載文件,當它開始下載進度視圖(我仍然需要了解它是一個按鈕還是一個accessoryView)更新自己,並能夠在它離開屏幕的同一點重新繪製。 –