gpt4 book ai didi

cocoa - 添加到多/多对多核心数据关系

转载 作者:行者123 更新时间:2023-12-03 17:58:34 25 4
gpt4 key购买 nike

我有 2 个实体,它们之间存在多对多关系。

Thing<<->>Tag

有一个 NSArrayController 控制实体“Tag”,绑定(bind)到 ManagedObjectContext。通过数组 Controller 添加:和删除:操作我可以将标签实例添加到集合中。

还有第二个 NSArrayController 控制“Thing”实体,也绑定(bind)到 ManagedObjectContext。

因此每个 Controller 都管理其实体的所有实例。

现在,假设数组 Controller 已经创建了 5 个“标签”和 3 个“事物”实例。
我想将单个标签链接到某个事物。我只想创建现有事物与现有标签实例之间的关系。

  • NSArrayController 的 addObject: 是正确的方法吗?或者它会创建一个新的托管对象吗?

  • 它是否相当于:

    NSMutableSet *tags = [aThing mutableSetValueForKey:@"tags"];
    [tags addObject:existingTag];

  • 标签系统是否有一些最佳实践?

最佳答案

我发现(在最新版本的 Xcode 中)在核心数据建模器中选择实体,然后转到文件菜单,选择新文件 -> 核心数据 -> NSManagedObject 子类很有帮助。它会自动创建一个具有必要成员的类以及用于在 toMany 关系中添加对象的方法。

如果您已经这样做了,那么您只需获取要添加标签thing实例,然后就可以调用声明的方法让你这样做。从生成的头文件中可以清楚地看出该方法的命名方式。

关于cocoa - 添加到多/多对多核心数据关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10030685/

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