2015-08-31 46 views
3

我想知道是否可以將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 
}) 

回答

0

絕對。這是這種方法預期的場景類型。

0

基礎上GDCoreDataConcurrencyDebugging框架:

到管理對象(問題)調用「釋放」當我用MR_InContext

相反的我必須保持到objectID參考和內部使用無效的併發訪問該塊。