魔法logging添加对象,不同的上下文错误

我在我的应用程序中使用魔法logging,并希望添加用户的function,添加一个“注”,这是“入门”的孩子。

我添加了这个代码:

[MagicalRecord saveWithBlock: ^(NSManagedObjectContext *localContext) { Note *newNote = [Note MR_createInContext: localContext]; newNote.content = noteContent; newNote.name = @"User Note"; [self.entry addNotesObject: newNote]; } completion: ^(BOOL success, NSError *error) { if (error != nil) { // show alert } else if (success) { [[self tableView] reloadData]; } }]; 

我一直在最后一行得到的错误是“非法尝试在不同的上下文中的对象之间build立关系”条目“

我尝试将'entry'和'newNote'的上下文设置为'localContext',但是我仍然得到相同的错误。

我错过了什么?

self.entry是在不同的环境下创build的,所以你不能从这个环境访问它。 代替:

 [self.entry addNotesObject: newNote]; 

你应该先在localContextfindself.entry对象:

 [[self.entry MR_inContext:localContext] addNotesObject: newNote]; 

您可以在线程上执行核心数据操作,find在并发环境中使用MagicalRecord的解释。 虽然它很短,所以在我看来,即使不直接使用CD,也是值得阅读Core Data Programming Guide的 。