将NSManagedContext保存在另一个线程上

时间:2017-10-27 19:36:42

标签: swift core-data nsmanagedobject nsmanagedobjectcontext

我有一个核心数据对象,它是在app的主线程(UI Queue)上创建的,我想在一个闭包内更新这个对象,在特定事件之后被调用,就像回调一样,我可以直接访问这个对象。关闭?虽然这被视为一个不同的线程?我希望能够将对象保存到核心数据。

2 个答案:

答案 0 :(得分:0)

每个线程使用一个NSManagedObjectContext。传递线程安全的NSManagedObjectID,并从线程上下文中再次获取对象。

答案 1 :(得分:0)

您可以使用以下命令将CoreData对象保存在闭包中:

DispatchQueue.main.async { 
    (your update func) 
}

这样你就可以在主线程上执行你的动作了