我想为Core Data实体编写一个简单的表视图编辑器。不幸的是我遇到了问题。实体xxx不是密钥值编码兼容密钥“(空)”
向表中添加第一个实体时发生错误。为造就模态对话框的过程如下:
NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Group" inManagedObjectContext:context];
insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
NSManagedObject *newManagedObject = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:context];
NameEditController *dialog = [[NameEditController alloc] init];
dialog.managedObject = newManagedObject;
[newManagedObject release];
UINavigationController *navCtrlr = [[UINavigationController alloc] initWithRootViewController:dialog];
navCtrlr.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[[self navigationController] presentModalViewController: navCtrlr animated:YES];
[navCtrlr release];
的NameEditController
里面,我有这样的按下完成按钮后:
NSString* name = self.nameLabel.text;
[self.managedObject setValue:name forKey:@"name"];
NSError *error = nil;
if (![managedObject.managedObjectContext save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
}
UIViewController *ctrl = [self parentViewController];
[ctrl dismissModalViewControllerAnimated:YES];
的我第一次创建一个对象(当这个列表是空的)我得到这个:
核心数据更改处理期间捕获异常:[valueForUndefinedKey:]:实体组不是符合密钥值的密钥“(null)”。
如果我填写造就对话框之前的“名称”字段中,我能够增加成功的第一个实体:
[newManagedObject的setValue:@“新组” forKey:@“名”]; //这个工程
我使用NSFetchedResultsController
来管理表视图顺便说一句。
谢谢!
[errorInfo]产生了什么? – TechZen 2009-12-03 23:56:05
TechZen,这是在控制台上的输出: USERINFO { NSTargetObjectUserInfoKey = <组:0x46b5d00>(实体:组; ID:0x46db950; data:{ members =( ); name = dd; }); NSUnknownUserInfoKey = ; } 该实体只有两个属性,名称(字符串)和成员(一对多关系) –
sehugg
2009-12-04 01:03:08