gpt4 book ai didi

ios - iOS:具有一对多关系的核心数据更新对象

转载 作者:行者123 更新时间:2023-12-01 19:02:24 26 4
gpt4 key购买 nike

在我的应用程序中,我具有以下代码来更新数据库:

NSManagedObjectContext *context = [self managedObjectContext];

NSFetchRequest *fetchRequest=[NSFetchRequest fetchRequestWithEntityName:@"Struct"];
NSError *error = nil;

for (id element in array){
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"id==%@",[element objectForKey:@"id"]]];

Struct *struct = [[context executeFetchRequest:fetchRequest error:&error] lastObject];

if (struct != nil){
//updating value of attributes
struct.name = [element objectForKey:@"n"];
struct.val = [element objectForKey:@"val"];
struct.pos = [element objectForKey:@"pos"];


}
else{
//create a new identity
}
}

没关系,但我还有其他两个与Struct相关的对象:

“Id_Loc”(一对多)
“细节”(一对一)

我不知道如何更新它们,也不知道如何从对象“Struct”中调用它们
我什么也没找到
你能帮助我吗?
谢谢

最佳答案

它的工作方式与您使用.name,.val和.pos的方式相同。

一对一关系将返回一个对象,一对多关系将返回一个NSSet。

假设您的一对一关系是从Struct到Bar,并且关系名称是bar,则使用struct.bar将收到一个Bar对象。

编辑:
如果要将新对象添加到一对多关系,则应使用[struct addFooObject:]; Foo是您的对象名称。

关于ios - iOS:具有一对多关系的核心数据更新对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22019016/

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