Coredata和NSOrderedSet - 如何定义集的顺序?

时间:2012-02-29 10:47:56

标签: objective-c ios core-data nsorderedset

我查看了现有文档,找不到任何可以确认我所看到的行为的内容。

从iOS 5开始,可以订购CoreData关系,在这种情况下,返回的对象是NSOrderedSet。

任何人都可以确认集合中对象的顺序与它们的创建顺序相匹配吗?

干杯, 罗格

2 个答案:

答案 0 :(得分:2)

如果您没有使用sortedArrayUsingComparator:自行对订单进行排序,那么我相信对象按照添加顺序排序。

您也可以使用– insertObject:atIndex:手动设置订单。

https://developer.apple.com/library/mac/#documentation/Foundation/Reference/NSMutableOrderedSet_Class/Reference/Reference.html#//apple_ref/occ/cl/NSMutableOrderedSet

答案 1 :(得分:1)

您应该使用旧NSOrderedSet中的数据创建NSMutabledOrderedSet,进行更改并再次移回数据:

NSMutableOrderedSet *orderedSet = [[NSMutableOrderedSet alloc] initWithSet:[self.myOrderedSet set]];
[orderedSet insertObject:newObject atIndex:index];
self.myOrderedSet = orderedSet;