coreData 插入到许多关系

coreData insert to to many relationship

我看到以下将多对多关系添加回 CoreData 的示例

其中 'currentDog' 有很多 'walks'

walk.date = NSDate()
let walks = currentDog.walks!.mutableCopy() as! NSMutableOrderedSet
walks.addObject(walk)
currentDog.walks = walks.copy() as? NSOrderedSet

这就是他们插入新步道的方式

我想知道为什么要这样做?当一个人可以简单地做

walk.date = NSData()
walk.dog = currentDog

一个更笼统的问题。为什么需要在保存之前将对象插入到 Set 中?当您可以简单地设置对象与其相关对象或父对象的关系时。

如果关系是有序的,那么您可能想要插入到集合中。如果不是,并且假设您的关系应该是双向的,那么您的第二个设置关系的一对一端的示例是首选,因为它的代码更少,因此更易于维护和阅读。