Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 对NSManagedObject使用IF语句_Ios_Objective C_Nsmanagedobject - Fatal编程技术网

Ios 对NSManagedObject使用IF语句

Ios 对NSManagedObject使用IF语句,ios,objective-c,nsmanagedobject,Ios,Objective C,Nsmanagedobject,我试图使用if语句来识别条目是否已保存到我的核心数据文件中。在本例中,我希望在文本字段中显示用户名,以便他们可以编辑它,然后重新保存。相反,它只是将每个条目作为一个新条目,即使它已被创建。此外,如果我尝试显示保存对象的文本,即使在viewDidLoad方法中,也不会显示任何内容 谢谢你的帮助 - (IBAction)savePressed:(id)sender { NSManagedObjectContext *context = [self managedObjectContext]

我试图使用if语句来识别条目是否已保存到我的核心数据文件中。在本例中,我希望在文本字段中显示用户名,以便他们可以编辑它,然后重新保存。相反,它只是将每个条目作为一个新条目,即使它已被创建。此外,如果我尝试显示保存对象的文本,即使在viewDidLoad方法中,也不会显示任何内容

谢谢你的帮助

- (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。