唉,对于长标题感到抱歉。在保存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