Как обновить существующий объект в Core Data?

Когда я вставляю новый объект, я делаю со следующим кодом:

NSManagedObjectContext *context = [appDelegate managedObjectContext];

Favorits *favorits = [NSEntityDescription insertNewObjectForEntityForName:@"Favorits" inManagedObjectContext:context];

favorits.title = @"Some title";

NSError *error;                    
if (![context save:&error]) {
    NSLog(@"Whoops");
}

Как я могу обновить существующий объект в основных данных?

60
задан 9 February 2014 в 16:45

1 ответ

Я видел ответ в Objective C, который помог мне. Я отправляю ответ для пользователей Swift -

        guard let appDelegate = UIApplication.shared.delegate as? AppDelegate
        else 
        {
         return
        }
        let updateCont = appDelegate?.persistentContainer.viewContext
        let pred = NSPredicate(format: "your_Attribute_Name = %@", argumentArray : [your_Arguments])
        let request = NSFetchRequest<NSFetchRequestResult>(entityName: "your_Entity_Name")
        request.predicate = pred

        do {
            let resul = try updateCont?.fetch(request) as? [NSManagedObject]
            let m = resul?.first
            m?.setValue(txtName.text, forKey: "your_Attribute_Name_Whose_Value_Should_Update")
            try? updateCont?.save()

        }catch let err as NSError
        {
            print(err)
        }
0
ответ дан 9 February 2014 в 16:45

Другие вопросы по тегам:

Похожие вопросы: