1

我在一个类似于 pinterest 的应用程序上工作,我有大量的个人书籍。这本书存储在核心数据中,我使用 NSManagedObjectContext 来工作和获取它们。

该应用程序的另一部分是在线搜索书籍的能力。我正在使用新的 NSManagedObjectContext 来存储搜索结果。搜索结果中的一些书籍也在我的收藏中(因此是第一个 MOC 的一部分并保存在持久存储中),但有些不是。

我想要实现的是能够以与我通常使用第一个 MOC 相同的方式使用我的书籍(在搜索模式下)。基本上我需要能够从搜索结果中更改书名,并将更改传播到第一个 MOC。

我首先认为使用嵌套 MOC 是一个好主意,其中搜索上下文是第一个 MOC 的子上下文,但是子上下文上的 NSFetchRequest 也会获取到父上下文中,我不希望这样。

在搜索模式下不使用 CoreData 不是一种选择,因为它不仅仅是书籍,还有很多围绕它们的元数据,而核心数据可以避免许多其他问题。

编辑

一个解决方案可能是观察第二个 MOC 中的变化,然后将它们合并到初始 MOC 中。我不确定这是否是理想的解决方案,因为我在这种情况下看到了很多提取:我必须确定哪本书(来自搜索 MOC)也存在于主 MOC 中,并且只合并这些书的更改。

4

0 回答 0