2013-04-03 63 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.