ios - 更正线程以从/向核心数据执行删除、插入和获取

标签 ios core-data

我的应用程序连接到网络服务,从 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/

相关文章:

objective-c - 核心数据:跨关系计数

ios - ViewContext 没有收到来自 newBackgroundContext() 的更新

iphone - 为什么调试器不知道我的 Core Data 生成的托管对象类上的方法? (附代码)

ios - 不同维度的 TableView 部分索引标题大小

ios - 如何使用 .dSYM 文件部署 Xamarin iOS App

ios - 我可以创建页面大于屏幕尺寸的 UIPageControl/UIScrollview 吗?

ios - 如何让钥匙串(keychain)在带有 ARC 的 iOS 5 中工作?

cocoa - 如何释放 NSManagedObject 对象?

ios - Core Data 多项编辑效率与随机误差

ios - FaSTLane 根据试飞中先前的内部版本号增加内部版本号