CoreData“忘记”NSOrderedSet关系

时间:2016-03-01 07:11:00

标签: ios core-data

我在一个实体上有一个NSOrderedSet关系。在我保存,退出并重新启动应用程序之前,对象的顺序是正确的。然后,当获取实体时,对于实体的某些实例,该重新关联的顺序与重新启动之前的顺序不同。好像NSOrderedSet完全忘记了订单。

检查模型文件显示此属性确实已订购:

    <relationship name="videoSegments" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="VideoSegment" inverseName="parentProject" inverseEntity="VideoSegment" syncable="YES"/>

我知道自动生成的访问者代码问题:Exception thrown in NSOrderedSet generated accessors但是这是一个不同的问题,尽管它可能以某种方式相关。

2 个答案:

答案 0 :(得分:1)

它不会忘记任何事情,你应该对它进行排序。有序和已排序之间存在差异。

检查NSMutableOrderedSet

答案 1 :(得分:0)

如果需要按特定顺序返回数据,则需要添加一个定义排序顺序的属性,例如0..n中的索引,并对其进行排序。

CoreData并未关注您添加数据的顺序