我正在研究一個應用程序,它將數據保存在外部MySQL服務器中,但使用核心數據在本地緩存它以獲得更好的響應時間。基本上,我想要做的是這樣的:NSFetchedResultsController更新結果沒有新的提取
- 取(用NSFetchedResultsController SQLite的數據存儲)從核心數據的數據,並在背景中顯示它
- 抓住新的MySQL服務器項目
- 用新的數據集(新舊項目)刷新當前表格視圖
除了最後一步,我已經完成了所有工作。我不能完全弄清楚如何使NSFetchedResultsController更新其數據集。到目前爲止,我已經嘗試添加項目直接向它的NSManagedObjectContext:
[NSEntityDescription insertNewObjectForEntityForName:@"Entity"
inManagedObjectContext:[fetchedResultsController
managedObjectContext]];
我也試了一下蘋果確實在他們CoreDataBooks例子,使用單獨的「並稱」管理對象上下文和mergeChangesFromContextDidSaveNotification:
通話。這兩個似乎都不會改變當前在我提取的結果控制器的託管對象上下文中的NSManagedObject *的集合。
如何更新NSFetchedResultsController當前管理的對象集?
這的確是我使用的方法,我認爲這是蘋果做它以某種方式的核心數據示例。 – Tim 2009-07-01 15:11:15