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参考和内部使用无效的并发访问该块。