如何使用多个属性订购我的Realm结果?
我首先使用这样的属性对它们进行排序:
allShows = Show.allObjects().sortedResultsUsingProperty("dateStart", ascending: true)
Run Code Online (Sandbox Code Playgroud)
但现在我也想通过另一个属性"timeStart"进行二次排序.我试过这样的:
allShows = Show.allObjects().sortedResultsUsingProperty("dateStart", ascending: true).sortedResultsUsingProperty("timeStart", ascending: true)
Run Code Online (Sandbox Code Playgroud)
这只会使结果仅由第二个属性排序.请帮忙.
小智 36
在RealmSwift中,我们可以编写多个这样的属性:
let sortProperties = [SortDescriptor(property: "dateStart", ascending: true), SortDescriptor(property: "timeStart", ascending: true)]
allShowsByDate = Realm().objects(MyObjectType).sorted(sortProperties)
Run Code Online (Sandbox Code Playgroud)
如果要使用更多属性,可以SortDescriptor()
向数组添加值.
cod*_*man 16
像这样想出来:
let sortProperties = [RLMSortDescriptor(property: "dateStart", ascending: true), RLMSortDescriptor(property: "timeStart", ascending: true)]
allShowsByDate = Show.allObjects().sortedResultsUsingDescriptors(sortProperties)
Run Code Online (Sandbox Code Playgroud)
小智 7
更新了 Swift 4 语法
let sortProperties = [SortDescriptor(keyPath: "queue"), SortDescriptor(keyPath: "name")]
let dogList = realm.objects(Dog.self).sorted(by: sortProperties)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10705 次 |
最近记录: |