gpt4 book ai didi

iphone - 具有一对多关系的核心数据自引用实体

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

这可能很简单,但我需要一些帮助。

我正在使用 Core Data 中的自引用实体来设置决策树。是否可以在自引用表上建立一对多关系?或者有更好的设置方法吗?

我遇到的问题是,当我将自引用关系设置为非一对一关系时,父节点对象被添加到引用子节点的 NSSet 中。当我选择“一对多”关系时,它似乎将其设置为多对多关系。

我已经能够通过设置一个一对一的关系和一个单独的多对多关系,然后将一对一关系设置为父节点来解决这个问题,但我无法设置反向关系。并且没有设置反向关系,我收到编译器警告。

非常感谢任何想法和想法!

最佳答案

马特·W,

首先,不要与 Core Data 作对。你会输的。

其次,请展示一些代码。我怀疑您可能没有按照您认为的方式使用这些关系。

第三,因为我对你的问题很感兴趣,所以我写了一个关于你的树的简单例子。这是一些代码:

自引用类:

@interface ToMany : NSManagedObject

@property (nonatomic, retain) NSDate * date;
@property (nonatomic, retain) NSSet *children;
@property (nonatomic, retain) ToMany *parent;
@end

使用该类且没有任何编译器错误的代码:

ToMany *parent = [NSEntityDescription insertNewObjectForEntityForName: kToManyEntity 
inManagedObjectContext: self.managedObjectContext];
parent.date = NSDate.date;

ToMany *child1 = [NSEntityDescription insertNewObjectForEntityForName: kToManyEntity
inManagedObjectContext: self.managedObjectContext];
child1.date = parent.date;
child1.parent = parent;

ToMany *child2 = [NSEntityDescription insertNewObjectForEntityForName: kToManyEntity
inManagedObjectContext: self.managedObjectContext];
child2.date = parent.date;
child2.parent = parent;

我想我已经实现了您对问题的描述。您到底担心什么?

安德鲁

关于iphone - 具有一对多关系的核心数据自引用实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8162250/

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