我正在一个类似于pinterest的应用程序,我有很多个人书籍。这本书存储在核心数据中,我正在使用NSManagedObjectContext来处理和获取它们。
该应用程序的另一部分是能够在线搜索图书。我正在使用新的NSManagedObjectContext来存储搜索结果。搜索结果中的一些书籍也在我的收藏中(因此是第一个MOC的一部分并保存在持久性商店中)但有些却不是。
我想要达到的目标是能够以我通常使用第一个MOC的方式处理我的书籍(在搜索模式下)。基本上我需要能够从搜索结果中更改书名,并将更改传播到第一个MOC。
我首先想到使用嵌套的MOC是个好主意,其中搜索上下文是第一个MOC的子级,但是子上下文中的NSFetchRequest也会获取到父上下文中,我不希望这样。
在搜索模式下不使用CoreData不是一种选择,因为它不仅仅是书籍,它周围有很多元数据,核心数据可以解决许多其他问题。
修改
可能的解决方案是观察第二个MOC中的变化,然后将它们合并到初始MOC中。我不确定这是否是理想的解决方案,因为我在这种情况下看到很多提取:我必须确定哪个书(来自搜索MOC)也出现在主MOC中,并且只合并这些书的更改。