我是否应该有不同的托管对象上下文进行读写?我应该实施MOC作为亲子阅读吗?什么可能是MOC写作的最佳实现?
答案 0 :(得分:0)
设置堆栈有很多种方法,每种方法都有其优点和缺点。
最简单的做法是,在您更熟悉Core Data之前,如下所示:
使用并发类型的专用队列创建父MOC。这将是你的作家,因为它将在后台完成。
创建具有并发类型主队列的子MOC。这将成为您主要线索的读者。
如果需要从主线程进行更改,则必须确保保存两个上下文以使其保持持久性。如果您可以将所有写入直接发送到父级进行后台处理,那就更好了。使用FRC和通知处理程序知道何时刷新孩子。
P.S。我从来没有在我的应用程序中使用这种方法,但我有一个完善的核心数据堆栈,我随身携带从项目到项目。
答案 1 :(得分:0)
正如已经指出的那样,有许多因素决定了你这样做的原因和原因。在我看来,最重要的是你是否需要支持多线程。这是一个很好的链接,用于解释(使用视觉效果)父/子范例。 http://code.tutsplus.com/tutorials/core-data-from-scratch-concurrency--cms-22131
我使用SSDataKit来帮助进行核心数据设置,然后扩展到我需要的位置。在我的高度并行的应用程序中,我为每个NSOperation创建一个新的MOC,其中包含以下关系:Private Queue - >主队列 - >临时子队列(这些操作在后台线程上运行)。在更简单的应用程序中,我使用基本的SSDataKit(父/子)设置,就是那样。