我正在尝试在我的一个coredata
表/实体中编辑一个项目。我不是 100% 确定如何做到这一点,但我认为它沿着这些思路。
首先创建上下文,然后fetchrequest
使用谓词从表/实体中选择确切项目的实体。然后将这些值保存到正确的 var 类型中更新值,然后用新值覆盖现有项目。
最后一部分是我卡住的地方,这是我目前拥有的代码:
- (void)editSelectedInstall:(NSString *)invGuid {
NSManagedObjectContext *context = [self managedObjectContext];
if (context == nil) {
NSLog(@"Nil");
}
else {
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Install" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"invGUID==%@",invGuid];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
NSArray *myArray = [context executeFetchRequest:fetchRequest error:&error];
NSMutableDictionary *myDictionary = [myArray objectAtIndex:0];
NSLog(@"%@", myDictionary);
// Here I will update the values & then save the context?
// For example I think I am to update the items like this:
myDictionary.num = @"1234";
myDictionary.name = @"new name";
}
}
我想我快到了我只需要帮助保存上下文,以便它覆盖以前的值。