所以我知道NSManagedObjects
这不是线程安全的,从后台线程获取对象的最佳方法是使用[context objectWithId:id];
,因此传递对象 id 而不是实际对象。
假设我有一个全球性NSManagedObject
的AppDelegate
(不是最好的设计模式,但只是举例)NSManagedObject *myObject;
objectId
从后台线程访问该对象是否安全?像这样:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
objectId = appDelegate.myObject.objectId;
//is this thread safe?
}