0

tableView から選択されたコアデータ レコードを更新する方法を知りたいコアデータを保存するコードは次のとおりです。

- (IBAction)juardar:(id)sender {

NSUserDefaults *defs=[NSUserDefaults standardUserDefaults];

NSString *sedef_mat=[NSString stringWithFormat:@"%@",[defs objectForKey:@"Materia"]];
//NSLog(@"%@",sedef_mat);

NSManagedObjectContext *context = [self managedObjectContext];

// Create a new managed object
NSManagedObject *newtarea = [NSEntityDescription insertNewObjectForEntityForName:@"Tareas" inManagedObjectContext:context];
[newtarea setValue:self.Nombre.text forKey:@"nombre"];
[newtarea setValue:self.Descripcion.text forKey:@"descripcion"];
[newtarea setValue:sedef_mat forKey:@"materia"];

NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
    //NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}

}

ありがとう

4

1 に答える 1

1

上記と同じように、新しい値を設定してコンテキストを保存するだけです。ただし、取得した結果を操作します。

for (Tareas *object in fetchedResultsController.fetchedObjects)
{
    Tareas *t = (Tareas *)object;
    if ([t.nombre isEqualToString:@"NewValue1"])
    {
        Tareas.nombre = @"NewValue1";
        Tareas.description = @"NewValue2";
        Tareas.materia = @"NewValue3";
    }
}

次に、上記のようにコンテキストを保存します。

if (![context save:&error])
    etc.
于 2013-04-03T23:29:27.000 に答える