gpt4 book ai didi

ios - 如何设置核心数据实体对象的关系

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:26:07 29 4
gpt4 key购买 nike

我有一个实体 mainEntity,它与三个不同的实体 entity1、entity2 和 entity3 具有三个一对多关系(关系以它们所指的对象命名)。

entity mainEntity
attribute name
relation entity1
relation entity2
relation entity3

这三个实体与这个mainEntity是一对多的反向关系(都一样,这里以first为例)。

entity entity1
attribute name
relation mainEntity

总的来说,它是来自一个 mainEntity 的三个多对多关系。

现在我需要将mainEntity的三个关系设置为object1、object2和object3,分别是entity1、entity2和entity3的实例。

我不能这样做:

MainEntity *myEntity = (MainEntity *)[NSEntityDescription
insertNewObjectForEntityForName:@"myEntity" inManagedObjectContext:context];
[myEntity setEntity1:object1];
[myEntity setEntity2:object2];
[myEntity setEntity3:object3];

控制台说:对多关系 Not Acceptable 值类型:property = "entity1";所需类型 = NSSet;

如何正确设置它们?

最佳答案

在我看来,您正试图将单个实体分配给一对多 关系。如果您只打算让 entity1entity2entity3 每次都指向一个实体,那么最简单(也是正确)的方法解决这个问题就是将这些关系从一对多更改为一对一。但是,如果您确实希望其中的每一个都是一对多关系,我会替换

[myEntity setEntity1:object1];
[myEntity setEntity2:object2];
[myEntity setEntity3:object3];

使用以下自动生成的对多关系修改器方法

[myEntity addEntity1Object:object1];
[myEntity addEntity2Object:object2];
[myEntity addEntity3Object:object3];

有关更多信息,请查看 Managed Object Accessor MethodsCore Data Programming Guide .

关于ios - 如何设置核心数据实体对象的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6714226/

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