2013-04-03 64 views
0

,我想知道我怎么可以更新是从的tableView 我的代码中选择保存coredata一个coredata记录是:更新CoreData的iOS

- (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]); 
} 

}

感谢

回答

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.