ios - 更新 CoreData iOS

标签 ios xcode uitableview core-data nsmanagedobject

我想知道如何更新从 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]);
}

谢谢

最佳答案

只需设置新值,然后保存上下文,就像上面所做的那样。但您将使用获取的结果:

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.

关于ios - 更新 CoreData iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15799865/

相关文章:

ios - UIKit 导入了什么,我如何找到?

objective-c - EXC_BAD_ACCESS 发送有效对象时

ios - NSData contentOfURL 返回 Nil?

ios - NSFetchedResultsController 在后台线程上使用核心数据

ios - 特定/私有(private)用途应用程序的应用程序提交程序

php - 如何在 PHP 中返回相对时间或在接收者(xCode)端自动转换它?

ios - Xcode 12 : iOS 14 Widget all black in simulator. 如何修复?

ios - Swift:如何使用 SQLite 列填充 UITableView

ios - 如何保存在UITableView中滚动时消失的选中标记?

c++ - 用于检测 arm64 或 armv7 的 xcode 架构宏