我的应用程序连接到网络服务,从 3 种不同的方法执行 POST,并将这 3 组数据中的每一个插入核心数据。每次有新数据可用时,核心数据中的所有内容都会被删除并插入新数据。这 3 个方法中的每一个都显示在不同的 TableViewControllers
中,这意味着每次显示这些 TableViewControllers
时都会有 3 个以上的 Fetch。
总结一下,我们有 3 组数据是从网络服务中获取的,然后我将所有这些数据插入到不同的实体中,同时获取新数据以显示在主 TableViewController
中。
现在我正在为线程和多上下文核心数据结构的复杂关系而苦苦挣扎。我应该在哪里执行插入、删除和提取以确保我的应用程序的线程安全?
最佳答案
您的 UI 是否在主线程上从主上下文中获取。
对于您的导入,不要在主线程上运行 session 回调,而是在任何后台队列上运行它。创建一个新的私有(private)上下文并将 main 设置为其父级。在 session 回调中,使用 block 接口(interface)导入和保存后台上下文及其父级(再次使用 block 接口(interface))。
关于ios - 更正线程以从/向核心数据执行删除、插入和获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38542297/