MagicalRecord的MR_InContext方法。安全使用?
问题描述:
我想知道是否可以将MR_InContext与saveWithBlock一起调用。我知道苹果暗示甚至不会从不同线程中的核心数据对象读取数据,所以我想知道是否应该传递objectId。这是我正在谈论的一个例子:MagicalRecord的MR_InContext方法。安全使用?
// outside of save with block
var someManagedObject = SomeManagedObject.MR_first()
MagicalRecord.saveWithBlock({ (localContext : NSManagedObjectContext!) in
// Is this ok? should I pass the objectId instead?
var managedObjectInThread = someManagedObject.MR_InContext(localContext)
managedObjectInThread.date = NSDate()
}, completion: { (success : Bool, error : NSError!) in
// This block runs in main thread
})
答
绝对。这是这种方法预期的场景类型。
答
基础上GDCoreDataConcurrencyDebugging框架:
到管理对象(问题)调用“释放”当我用MR_InContext
相反的我必须保持到objectID
参考和内部使用无效的并发访问该块。