呸,抱歉标题太长了。
我有一个托管对象上下文,我在其中存储来自两个不同位置的歌曲。我从手机上的持久存储中获取一些歌曲(使用 Core Data),然后从在线数据库中提取一些歌曲。两首歌曲都属于同一个 ManagedObject 子类。我希望这两首歌都在一个上下文中,因为我希望它们都显示在与 NSFetchedResultsController 连接的表格视图中。
当我想保存其中一首歌曲时会出现问题。我不想将我从在线数据库中提取的所有歌曲保存到手机中。我只想保存单曲,所以简单的 [moc save] 不起作用。另一个问题是,在我保存了一首歌曲后,我仍然希望从网上提取的歌曲在上下文中(但同样,没有保存)。我相信我有几个不同的选择:
1) 是否可以将 NSFetchedResults 控制器连接到多个上下文?
2)我可以将所有从在线数据库中提取的歌曲移动到一个单独的临时上下文中,保存在原始上下文中,然后将所有歌曲移回。(请参阅:如何将 NSManagedObject 从一个上下文复制或移动到另一个上下文?)
3)记住在线歌曲的所有键值对,从上下文中删除在线歌曲,保存原始上下文,根据保存的键值对将所有在线歌曲插入原始上下文中。
4)我是一个巨大的n00b,并且缺少一些更容易的东西。
谢谢!