gpt4 book ai didi

iphone - 核心数据 - 将关系复制到新实体?

转载 作者:行者123 更新时间:2023-11-29 04:52:09 25 4
gpt4 key购买 nike

我正在尝试创建一个新的核心数据实体,并使用以下(简化的)代码从旧实体复制其[部分]内容:

NSManagedObjectContext *context = [[UIApplication sharedApplication] delegate]).managedObjectContext;
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:context];
MyEntity *newEntity = [[MyEntity alloc] initWithEntity:entityDescription insertIntoManagedObjectContext:context];
newEntity.myRelationship = oldEntity.myRelationship;

在执行最后一次赋值之前,oldEntity有一个由myRelationship指向的对象。

赋值后,newEntity.myRelationship指向同一个对象,但oldEntity.myRelationship变成nil

我必须做什么才能将对象保留在旧实体和新实体中?

最佳答案

您的关系类型为X .
oldEntitynewEntity两者都有 one-to-oneX的关系.

我认为你们的关系来自X新旧实体类型也是one-to-one .
你应该改变这个。

在您的核心数据模型中,您可以更改此设置。它应该看起来像:

Type X <-->> Type Y
在哪里输入Y是您的旧实体和新实体的类型。

您应该重新生成您的 NSManagedObject类型类 X .如果实现中有逻辑,则应将其复制并粘贴到新生成的文件中。

请注意,实体 X 现在拥有超过 1 个类型 Y 的实体,因此它将是一个集合而不是单个实体。

关于iphone - 核心数据 - 将关系复制到新实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8629962/

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