我在一个实体上有一个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但是这是一个不同的问题,尽管它可能以某种方式相关。
答案 0 :(得分:1)
它不会忘记任何事情,你应该对它进行排序。有序和已排序之间存在差异。
答案 1 :(得分:0)
如果需要按特定顺序返回数据,则需要添加一个定义排序顺序的属性,例如0..n中的索引,并对其进行排序。
CoreData并未关注您添加数据的顺序