我的应用程序连接到Web服务,从3种不同的方法执行POST,并将这3组数据中的每一组都插入到Core Data中.每当有新数据可用时,核心数据中的所有内容都将被删除并插入新数据.这3种方法中的每一种都以不同的方式显示TableViewControllers
,这意味着每次显示这些方法时都会有3个以上的提取TableViewControllers
.
总结一下,我们有3组数据从webservice中提取,然后我将所有这些数据插入到不同的实体中,同时获取要在main中显示的新数据TableViewController
.
现在我正在努力解决线程和多上下文核心数据结构的复杂关系.我应该在哪里执行插入,删除和获取以确保我的应用程序的线程安全?
在多上下文CoreData中,可以有一个privateQueueRootMOC和一个mainQueueRootMoc,主MOC用于在mainThread中获取数据,私有MOC用于在privateMOC线程中更新、插入和删除数据。
privateMOC.performBlock({ () -> Void in
//try insert, delete, update
....
try privateMOC.save()
onCompleteBlock() //fetch data in main thread use main MOC
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
357 次 |
最近记录: |