Jos*_*ick 0 iphone core-data objective-c nssortdescriptor
指定多个排序描述符时:
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:lastName, firstName, age, nil];
Run Code Online (Sandbox Code Playgroud)
假设lastName,firstName和age都是NSSortDescriptor类型,并且具有由其名称建议的密钥.
我只想了解当我这样做会发生什么.假设我有一些核心数据(例如人员列表),我使用这些排序描述符对其进行排序.它是否会先尝试对姓氏进行排序,然后如果姓氏相同,请尝试按名字排序(只是那些姓氏相同的记录),然后iff的名字和姓氏是相同的,它会尝试按年龄排序(仅适用于那些记录)作为最后的手段.或者它会按照姓氏对列表进行排序,然后返回并按名字再次排序,然后再返回并按年龄排序?
它做你想要的 - 第一个.我怀疑技术实现是否像你描述的那样,但结果是一样的.
可以实现技术实现的一种方法是对每个进行直接排序,但是以相反的顺序运行它们(三级排序,然后是二级排序,然后是主排序).这将有你想要的结果的净效应,并且不需要每个排序采取其他种类的任何通知,但产生的主键排序,分下令二级钥匙,分排序再次由三级钥匙.但是,数据库能够采用的排序可能会更有效.好消息是你不需要知道它是如何工作的 - 它就是这样.:)
| 归档时间: |
|
| 查看次数: |
759 次 |
| 最近记录: |