Reputation: 278
i want to know how can I update a coredata record that was selected from a tableView my code to save the coredata is:
- (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]);
}
}
Thanks
Upvotes: 0
Views: 1252
Reputation: 3541
Just set the new values then save the context just as you did above. But you'll be working with the fetched results:
for (Tareas *object in fetchedResultsController.fetchedObjects)
{
Tareas *t = (Tareas *)object;
if ([t.nombre isEqualToString:@"NewValue1"])
{
Tareas.nombre = @"NewValue1";
Tareas.description = @"NewValue2";
Tareas.materia = @"NewValue3";
}
}
then save context like you did above:
if (![context save:&error])
etc.
Upvotes: 1