【发布时间】:2021-09-16 16:34:04
【问题描述】:
即从其他线程访问 NSManagedObject 的managedObjectContext 属性?例如:
class StoredObject: NSManagedObject {
@NSManaged public var interestProperty: String
}
------- somewhere on background -------
let context = storedObject.managedObjectContext // is it safe?
context.perform { [storedObject] in
// do something with interestProperty
}
---------------------------------------
【问题讨论】:
-
你为什么需要这个?
NSManagedObjectContext不是线程安全的,那么你会在另一个线程上用它做什么? -
legacy) 已知
objectID属性是线程安全的,但我不确定managedObjectContext。无论如何,即使有-com.apple.CoreData.ConcurrencyDebug 1标志,也没有引发任何异常。
标签: swift multithreading core-data thread-safety