唉,對於長標題感到抱歉。在保存NSFetchedResultController功能的同時保存單個CoreData實體(不是全部上下文)
我有一個託管對象上下文,我存儲從兩個不同位置派生的歌曲。我從手機上的持久性存儲中獲得一些歌曲(使用Core Data),並從線上數據庫中提取一些歌曲。這兩首歌都是相同的MananagedObject子類。我希望這兩首歌都放在一個上下文中,因爲我希望它們都顯示在與NSFetchedResultsController連接的表視圖上。
當我想要保存其中一首歌曲時,就會出現問題。我不想將所有從在線數據庫中提取的歌曲保存到手機中。我只想保存單曲,所以一個簡單的[moc保存]不起作用。另一個問題是,在我保存單曲之後,我仍然希望從在線上取得的歌曲處於上下文中(但是再次保存)。我相信我有幾個不同的選擇:
1)是否有可能有NSFetchedResults控制器連接到多個上下文?
2)我可以將從在線數據庫中提取的所有歌曲移到單獨的臨時上下文中,保存在原始上下文中,然後將所有歌曲移回。 (請參閱:How do I copy or move an NSManagedObject from one context to another?)
3)記住在線歌曲的所有鍵值對,從上下文中刪除在線歌曲,保存原始上下文,將所有在線歌曲重新插入原始上下文中已保存的鍵值對。
4)我是一個巨大的n00b,我錯過了一些更容易。
謝謝!
你實際上想要保存什麼?歌曲的位置或實際歌曲數據(文件)? – sosborn 2012-08-08 00:35:29