gpt4 book ai didi

ios - 更新 CoreData 对象而不是插入新对象

转载 作者:行者123 更新时间:2023-11-29 12:43:59 24 4
gpt4 key购买 nike

我正在尝试更新当前的 CoreData 对象,但是当我使用我的 write 方法时,它只是将另一个对象添加到数据库中,所以当我尝试读取这些对象时,我会得到几十个对象,具体取决于它被使用了多长时间.

这是我的代码

#pragma mark -- Write
- (void)writeSeriesSearchObj:(NSMutableDictionary *)SearchDic Name:(NSString *)name
{
// WRITE TO CORE DATA
NSManagedObjectContext *context = [self managedObjectContext];

SeriesSearchObj *searchObj = [NSEntityDescription insertNewObjectForEntityForName:@"SeriesSearchObj" inManagedObjectContext:context];


if ([name isEqualToString:@"Code"]) {
searchObj.code = [SearchDic objectForKey:@"Code"];
} else if ([name isEqualToString:@"Name"]) {
searchObj.name = [SearchDic objectForKey:@"Name"];
} else if ([name isEqualToString:@"Model"]) {
searchObj.modelID = [SearchDic objectForKey:@"ModelID"];
}

NSError *error = nil;
[self.managedObjectContext save:&error];

// test
NSMutableArray *temptestA = [self readSearchObj];
NSLog(@"%@", temptestA);

}

我怀疑我在使用 insertNewObjectForEntityForName 时出错了,但是我不确定如何编写此方法以便每次都更新同一个对象?

最佳答案

SeriesSearchObj *searchObj = [NSEntityDescription insertNewObjectForEntityForName:@"SeriesSearchObj" inManagedObjectContext:context];

总是会返回给你一个新的对象。使用 NSFetch 获取现有对象,然后更新它。

关于ios - 更新 CoreData 对象而不是插入新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24113546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com