我有以下核心数据结构: core data http://i42.tinypic.com/2pqvx3c.png
我正在尝试将Vocabulary对象添加到Group类。
我尝试使用[Group addObject:VocabularyObject]方法执行此操作 无济于事。
AppDelegate *delegate = [[AppDelegate alloc]init];
Group *group = [_arr objectAtIndex:indexPath.row]; //I have an array with 'Group' objects
//create vocabulary item
Vocabulary *vocabularyEntity = [NSEntityDescription insertNewObjectForEntityForName:@"Vocabulary" inManagedObjectContext:[delegate managedObjectContext]];
vocabularyEntity.prompt = @"Here is a cool prompt";
vocabularyEntity.definition = @"Here is an even cooler definition";
[delegate saveContext];
[group addTermsObject:vocabularyEntity];
我收到此错误,我使用异常断点,错误来自addTermsObject调用。
[__NSDictionaryI addTermsObject:]: unrecognized selector sent to instance 0x74c4f70
我想添加的对象肯定是一个词汇表对象,所以我不确定问题是什么。
有什么想法吗?
谢谢!
答案 0 :(得分:1)
错误消息指出您的
Group *group = [_arr objectAtIndex:indexPath.row];
不是您想要的托管对象,而是NSDictionary
。也许您使用
[fetchRequest setResultType:NSDictionaryResultType];
在获取请求中?在这种情况下,所有获取的对象都只是没有的字典 与托管对象上下文的任何连接,您不能使用这些词典 建立任何关系。
更新:此处出现另一个错误:
AppDelegate *delegate = [[AppDelegate alloc]init];
这将分配 new 应用程序委托,而不是使用现有的委托。这是 可能不是你想要的,你应该用
替换它AppDelegate *delegate = [[UIApplication sharedApplication] delegate];