在核心数据中,如果我们有多个值关系,例如一个业务可以有多个关键字,则在NSManagedObject生成器的子类中,Apple将使用NSOrderedSet而不是NSArray。
它们几乎相同,只是在NSOrderedSet中检查所有权更快一些。
任何原因,苹果不使用更加熟悉和着名的NSArray?
解决方法
我的猜测是:因为NSOrderedSet管理不同元素的集合,类似于无序关系的NSSet。
使用NSArray可以多次创建一个与另一个对象相关的对象。