我在我的应用程序中使用 Magical Record,并希望为用户添加添加“注释”的功能,“注释”是“条目”的子项。
我添加了这段代码:
[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];
}
}];
我在最后一行不断收到的错误是“非法尝试在不同上下文中的对象之间建立关系‘条目’”
我尝试将“entry”和“newNote”的上下文设置为“localContext”,但仍然遇到相同的错误。
我缺少什么?
self.entry
是在不同的上下文中创建的,因此您无法从该上下文中访问它。
代替:
[self.entry addNotesObject: newNote];
你应该首先找到self.entry
对象在localContext
:
[[self.entry MR_inContext:localContext] addNotesObject: newNote];
您可以在以下位置找到有关在并发环境中使用 MagicalRecord 的说明:在线程上执行核心数据操作 https://github.com/magicalpanda/MagicalRecord/blob/develop/Docs/Threads.md。虽然很短,但我认为还是值得一读的核心数据编程指南 https://developer.apple.com/library/ios/documentation/cocoa/conceptual/CoreData/cdProgrammingGuide.html#//apple_ref/doc/uid/TP30001200-SW1即使您不直接使用 CD。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)