我试图通过使用CoreData
来更新int
数据,但我认为我在更新对象之前缺少了一些部分。这里我想做的是保存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:&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"];
}
我没有看到你保存它的那一行。例如:
NSError *saveError;
if (![context save:&saveError]) {
NSLog(@"Error: %@ %@", saveError, [saveError localizedDescription]);
}
限制获取请求可能也是一个好主意,因为您只查找第一个对象:
[request setFetchLimit:1];
我希望这将提高性能,但不能确认。