2010-06-01 33 views
0

我有一個應用程序與幾個UITableViewControllers。 現在,用戶可以更改「數據源」。在這種情況下,我需要使相關UITableViews中的數據無效(重置)。無效的UITableView內容

我想通了,我可以使用NSNotificationCenter並將這些控制器作爲觀察者添加到數據源更改時將生成的事件中。

問題是,我該如何重置基礎表?當然,我可以設置一些布爾標誌,然後在viewWillAppear或viewDidAppear中調用UITableView:reloadData,但是我想知道是否有更乾淨的方法。

或者我完全忽略了這一點,而且我完全不需要NSNotificationCenter。 非常感謝您提前。

回答

0

問題是,如何重置 基礎表?我當然可以設置一些布爾標誌

我不知道爲什麼你需要在這裏使用一個標誌。當你的視圖控制器獲取通知時,讓它重新加載通知處理程序中的表。

如果您的UITableView連接到NSFetchedResultsController,更新您的表格將有點不同。是嗎?

+0

儘管這是一種可能性,但我排除了這一點,因爲數據加載是一項昂貴的操作,我只想按需執行,即當用戶輸入此視圖時。由於用戶更改數據源而使多個表重新加載其數據的成本太高。用戶可能根本沒有訪問該視圖。 – Roman 2010-06-01 18:21:55

+0

然後重新加載viewWillAppear。 – 2010-06-01 18:30:31

+0

基於一個標誌,就像我最初的建議? :( – Roman 2010-06-01 18:57:29