【发布时间】:2018-01-10 11:52:11
【问题描述】:
主题中的问题。我有一组名为reports 的NSManagedObjects 子类。现在我想对这些数据进行大量计算。这可能需要一些时间,所以我不想阻塞主线程。
let persistentContainer = DatabaseStack.shared.persistentContainer
persistentContainer.performBackgroundTask { (context) in
//HERE: calculation on reports array
}
我是否应该使用给定的背景 context 重新获取 performBackgroundTask 内的 reports 数组。哪种重新获取方法是最好的?能给我举个例子吗?
编辑
我知道NSManagedObjects 不是线程安全的,但我在iOS10 下开发,我使用performBackgroundTask 方法。我想知道那里的方法是否没有处理它
EDIT2
我补充说,现在一切正常(我不重新获取对象),但我想确定这将始终有效,不会发生随机崩溃。
【问题讨论】:
标签: swift multithreading core-data io