2008-12-07 89 views
14

我是新來的iPhone和蘋果的發展和對我的第一個應用程序的工作。選擇表格中的項目時,只需一個TableView和一個「詳細視圖」即可。如何在從「詳細信息視圖?」返回後刷新表視圖?

我想要做的是改變TableView中根據我在「詳細信息視圖」採取了一些行動單元格的背景顏色。

當應用程序最初加載我自定義顏色-cellForRowAtIndexPath:方法,但是當用戶離開我的詳細回來查看功能不叫,所以我的表視圖沒有更新的顏色。現在刷新的唯一方法是退出應用程序並重新啓動它。 (我堅持用自己的NSUserDefaults的選擇。)

很顯然,我希望當他們回來的形成細節視圖被刷新表視圖,但我不知道如何讓一個單元格引用,並在該方法要做到這一點。我假設它應該在-viewDidAppear去,因爲那個叫一切視圖。

回答

34

使用[tableView reloadData] - 這將使tableview運行通過行並重建自身。

+0

這不刷新實現代碼如下,如果你是重新啓動應用程序。什麼是完全令人耳目一新的,就像應用程序已啓動並且tableview是新創建的? – coolcool1994 2014-02-01 21:14:35

9

你真的應該做的是,在viewWillAppear:

另外,還可以通過使用其visibleCells方法獲取表視圖的可見單元格。由於表視圖的工作方式,其他單元根本不存在 - 滾動將觸發委託方法並創建新單元(如果使用dequeue...,則將現有單元取出)。

1

我會補充說,如果它是在編輯視圖中,然後保存在表中存儲的一些修改後的信息,你應該有一個委託,檢測數據實際上保存時,然後重新加載你的tableview。每次出現視圖時,viewWillAppear都會被觸發。我認爲你只是在數據更改後纔想刷新表格。

相關問題