更新 CoreData iOS
Posted
技术标签:
【中文标题】更新 CoreData iOS【英文标题】:Update CoreData iOS 【发布时间】:2013-04-03 23:13:08 【问题描述】:我想知道如何更新从 tableView 中选择的 coredata 记录 我保存核心数据的代码是:
- (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.
【讨论】:
以上是关于更新 CoreData iOS的主要内容,如果未能解决你的问题,请参考以下文章
iOS CoreData / NSFetchedResultsController:将每个部分的结果限制为 3
iOS Core Data:使用 Foundation 对象添加属性