Cor*_*ore 4 cocoa core-data objective-c nstableview
当我以多对多关系重新启动我的Core Data应用程序时,我的数据(在NSTableView中显示)是随机顺序.如何在退出应用程序之前按照用户保留的顺序保留它?
当然,我可以对数据进行排序,awakeFromNib但这并没有给出用户用于排列数据的精确顺序(例如,他可能会手动重新排列行).
我的文档的详细信息:我所拥有的是与NSArrayController管理的实体"Card"的多对多关系中的实体"关系".Card有2个属性,"number"(int)和"name"(String)通过NSTableView的两列中的Bindings显示.通过单击表头来完成排序.
如何保留排序顺序?
Jos*_*zzi 10
核心数据不支持有序集合(如NSArray).这是为了支持诸如仅提取一小部分信息而不拉入整个商店的事情.这就是为什么结果总是在NSSet(无序集合)中给出的原因.
保留任何类型排序顺序的唯一方法是向您的实体添加属性,如"sortOrder",并确保将其设置为有效的.然后,您可以将数组控制器的排序描述符设置为按sortOrder进行升序排序.同样,如果您使用NSFetchRequest手动提取,也可以设置其排序描述符.
Lion更新(10.7)
如果您的应用程序中的目标是10.7及更高版本,NSManagedObject现在会为您提供有序的关系.使用-mutableOrderedSetValueForKey:和-mutableOrderedSetValueForKey:设置和检索NSOrderedSets.好极了!
| 归档时间: |
|
| 查看次数: |
2086 次 |
| 最近记录: |