#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. о, мой плохой. Большое спасибо. очень тяжелый день, и теперь очень мало ошибок 🙂