2008-11-27 28 views
0

我的應用程序有一系列基於一些分層數據的表格視圖。例如,用戶在我的CategoryListController上選擇「瀏覽XYZ」,然後根據該選擇加載我的DocumentListController。重新使用UITableView與動態數據的最佳方法?

現在我通過返回一些JSON數據的Web服務來獲取列表,但那不是重點。我可以從SQLite數據庫中檢索這個動態列表,並且我會有相同的底層挑戰。

這裏的問題是,由於DocumentListController中我的表視圖的項目列表將根據用戶點擊哪個選擇而發生更改,因此我必須在顯示錶視圖後加載列表。

現在我正在使用-viewWillAppear:來觸發這個來自我的web服務的數據項的「刷新」。我想知道這是否是進行此刷新的最佳方式,或者如果我應該考慮使用不同的方法。我嘗試使用-viewDidLoad,但該方法只被調用一次DocumentListController,並且如果「選擇」已更改,我必須檢查每次調用,如果需要,我需要再次調用我的Web服務。

做這種事情的最佳方式是什麼?

回答

0

由於您通過網絡檢索數據,因此我建議您在處理完通知後發佈通知。您的DocumentListController應該註冊該通知並在通知處理程序中調用其表視圖的reloadData。

另一種方法,如果顯示視圖時數據總是存在的話,就是你所建議的 - 在viewWillAppear中更新表格視圖。

相關問題