【发布时间】:2012-05-11 18:45:46
【问题描述】:
我想创建一个按钮,即“完成”,按下时将所有数据保存到Core Data中,我正在使用下面的代码
- (IBAction)done:(id)sender
{
Player *player = [[Player alloc] init];
player.name = self.nameTextField.text;
player.game = game;
player.rating = 1;
[self.delegate playerDetailsViewController:self didAddPlayer:player];
NSManagedObjectContext *context = [self managedObjectContext];
Player *player = [NSEntityDescription
insertNewObjectForEntityForName:@"Player"
inManagedObjectContext:context];
player.name = self.nameTextField.text;
player.game = game;
player.rating = 1;
NSError *error;
if (![context save:&error]) {
NSLog(@"Whoops, couldn't save: %@", [error localizedDescription]);
}
}
但我不断收到以下错误:
语义问题:使用未声明的标识符“NSEntityDescription”;你的意思是“kSecAttrDescription”吗?
例如消息的接收器类型“PlayerDetailsViewController”未声明带有选择器“managedObjectContext”的方法
重新定义“玩家”
使用未声明的标识符“NSEntityDescription”;你的意思是“kSecAttrDescription”吗?
错误的接收器类型'CFTypeRef'(又名'const void *')
接收者类型'NSManagedObjectContext'例如消息是一个前向声明
有什么想法吗?
【问题讨论】:
-
您的代码中存在各种不同的错误,这些错误源于各种不同的问题。你应该从列表的顶部开始,分别处理每一个。 SO 是找出错误消息的绝佳资源:只需搜索每条消息的第一部分。例如,搜索
[xcode] Redefinition会出现this question,这可能会对您有所帮助。但是请不要仅仅因为您没有费心自己查找它们而要求我们修复您代码中的所有错误。