Ios 对NSManagedObject使用IF语句
我试图使用if语句来识别条目是否已保存到我的核心数据文件中。在本例中,我希望在文本字段中显示用户名,以便他们可以编辑它,然后重新保存。相反,它只是将每个条目作为一个新条目,即使它已被创建。此外,如果我尝试显示保存对象的文本,即使在viewDidLoad方法中,也不会显示任何内容 谢谢你的帮助Ios 对NSManagedObject使用IF语句,ios,objective-c,nsmanagedobject,Ios,Objective C,Nsmanagedobject,我试图使用if语句来识别条目是否已保存到我的核心数据文件中。在本例中,我希望在文本字段中显示用户名,以便他们可以编辑它,然后重新保存。相反,它只是将每个条目作为一个新条目,即使它已被创建。此外,如果我尝试显示保存对象的文本,即使在viewDidLoad方法中,也不会显示任何内容 谢谢你的帮助 - (IBAction)savePressed:(id)sender { NSManagedObjectContext *context = [self managedObjectContext]
- (IBAction)savePressed:(id)sender {
NSManagedObjectContext *context = [self managedObjectContext];
if(playerObject) {
//update exsisting
[playerObject setValue:txtFieldName.text forKey:@"name"];
}
else {
//create new player
NSManagedObject *newPlayer = [NSEntityDescription insertNewObjectForEntityForName:@"Player" inManagedObjectContext:context];
[newPlayer setValue:txtFieldName.text forKey:@"name"];
}
//save
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Save Failed! %@ %@", error, [error localizedDescription]);
}
[self dismissViewControllerAnimated:YES completion:nil];
}
您是否忘记将新创建的播放器分配给iVar playerObject: NSManagedObject*newPlayer=nil; ifplayerObject{ //现有更新 [playerObject setValue:txtFieldName.text-forKey:@name]; }否则{ //创建新玩家 newPlayer=[NSEntityDescription insertNewObjectForEntityForName:@Player inManagedObjectContext:context]; [newPlayer setValue:txtFieldName.text forKey:@name]; } 如果[上下文保存:&错误]{ NSLog@Save失败!%@%@,错误,[错误本地化描述]; }否则{ 如果新玩家{ playerObject=newPlayer; } }
在何处设置playerObject?如果playerObject引用中有对象,请签入viewDidLoad。