【发布时间】:2017-10-27 19:36:42
【问题描述】:
我有一个核心数据对象,它是在应用程序的主线程(UI 队列)上创建的,我想在一个闭包内更新这个对象,该闭包在特定事件之后被调用,比如回调,我可以直接在关闭?虽然这被视为不同的线程?我希望能够将对象保存到核心数据。
【问题讨论】:
标签: swift core-data nsmanagedobject nsmanagedobjectcontext
我有一个核心数据对象,它是在应用程序的主线程(UI 队列)上创建的,我想在一个闭包内更新这个对象,该闭包在特定事件之后被调用,比如回调,我可以直接在关闭?虽然这被视为不同的线程?我希望能够将对象保存到核心数据。
【问题讨论】:
标签: swift core-data nsmanagedobject nsmanagedobjectcontext
每个线程使用一个 NSManagedObjectContext。传递线程安全的 NSManagedObjectID,然后再次从线程上下文中获取对象。
【讨论】:
您可以使用以下方法将 CoreData 对象保存在闭包中:
DispatchQueue.main.async {
(your update func)
}
这样你就在主线程上执行你的操作
【讨论】: