Не удалось сохранить объект CoreData

#ios #objective-c #core-data

#iOS #objective-c #core-data

Вопрос:

Я пытаюсь обновить int данные с помощью CoreData , но я думаю, что мне не хватает некоторых частей перед обновлением объекта. Вот что я пытаюсь сделать, чтобы сохранить int значение. Здесь я хочу сохранить и обновить только первое значение объекта.

 - (IBAction)btnYakClicked:(UIButton *)sender
{
    NSManagedObjectContext *context = [self managedObjectContext];

    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    [request setEntity:[NSEntityDescription entityForName:@"Kalorimetre" inManagedObjectContext:context]];

    NSError *error = nil;
    NSArray *results = [context executeFetchRequest:request error:amp;error];

    NSManagedObject* kaloriObject = [results objectAtIndex:0];

    NSNumber *valWeek = [NSNumber numberWithInteger:300];
    NSNumber *valMonth = [NSNumber numberWithInteger:1000];

    [kaloriObject setValue:valWeek forKey:@"thisweek"];
    [kaloriObject setValue:valWeek forKey:@"thismonth"];
}
 

Ответ №1:

Я не вижу строки, в которой вы ее сохраняете. Например:

 NSError *saveError;

if (![context save:amp;saveError]) {
    NSLog(@"Error: %@ %@", saveError, [saveError localizedDescription]);
}
 

Также может быть хорошей идеей ограничить запрос на выборку, поскольку вы ищете только первый объект:

 [request setFetchLimit:1];
 

Я бы надеялся, что это улучшит производительность, но не может подтвердить.

Комментарии:

1. о, мой плохой. Большое спасибо. очень тяжелый день, и теперь очень мало ошибок 🙂