2011-07-29 75 views
0

我正在使用核心數據標籤欄+導航控制器原型應用程序,具有一個實體:事件。核心數據:在切換標籤欄中的標籤時刷新tableview

所以我有兩個選項卡,過去和現在。我使用nsfetchedresultscontroller和nspredicate將數據過濾到各自的表視圖。

現在這裏是我遇到問題的時候,當我創建一個新的日期時,它顯示在當前表格視圖中,就像我期望的一樣,但隨着時間的推移,事件停留在過去的日期,並且從不移動到過去的桌子視圖。我能做到這一點的唯一方法就是從頭開始啓動應用程序,並殺死背景視圖。

我試圖安裝reloadData調用視圖中的表視圖將出現。這是行不通的。

我試圖在應用程序從後臺啓動時使用[tableview reloadData]。但那也行不通。

我想不出別的什麼,希望你們能幫上忙。

[編輯]

我只是想出瞭如何做到這一點!我試圖下載示例代碼,我想我上傳到github,但看起來像沒有文件那裏。我無法弄清楚如何在那裏上傳項目。

無論如何,要做到這一點的事情在視圖中確實出現了,只需將其放在取出的結果控制器(不帶取得的結果控制器變量)的謂詞中的整個抓取請求中。現在,如果您切換視圖的時刻,整個數據都會更新並過濾!

希望這可以幫助其他人尋找解決這個問題的方法。

+0

添加代碼,以便用戶可以查看它/ –

回答

0

嗯,如果你已經嘗試過重裝數據,這些人可能是可能出現的問題:

  • 一定的緩存與謂語一致。如果在表 控制器中使用緩存,並且表中填充了 (如entityDate = myCalculatedDate),則謂詞可能不同, ,您需要先刪除緩存。我想你可以嘗試設置 cache:nil以查看這是否是問題。
  • 更新表,尤其是與新插入的行,或移動行 到不同的索引,你需要實現獲取控制器 委託
  • [編輯]另外,如果我記得很清楚,我如果標準 不知道機制viewWillAppear/dissappear按預期工作與Tab Bar, 可能有一些代表實現,但它只是一個 猜測!

這是我可以猜到沒有看到代碼。