0

我有 2 个实体,通过多对多关系相关。

Thing<<->>Tag

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

还有第二个 NSArrayController 控制“Thing”实体,也绑定到 managedObjectContext。

因此,每个控制器都管理其实体的所有实例。

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

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

  • 是否相当于:

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

    ?

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

1 回答 1

1

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

如果你已经这样做了,那么你只需要获得thing你想要添加 a 的实例,tag你就可以调用为你声明的方法来这样做。从生成的头文件中可以明显看出该方法的命名方式。

于 2012-04-05T14:47:32.997 回答