我不知道如何使用 Realm 进行排序。我当前的代码是。
data = realm.objects(WorkoutSet)
data = data!.sorted("date")
我想对 date 和 Int
从大数到小数进行排序。文档需要更多信息,GitHub 链接会抛出一条 404
消息。
最佳答案
您可以向sorted
方法添加一个ascending
参数:
data = data!.sorted("date", ascending: false)
这将使用日期字段按降序对您的 WorkoutSet 进行排序。
更新
在 Swift 3 和最新的 RealmSwift 版本中,这已更改为:
data = data!.sorted(byKeyPath: "date", ascending: false)
如果您想自己评估排序标准,您可以使用:
data = data!.sorted(by: { (lhsData, rhsData) -> Bool in
return lshData.something > rhsData.something
})
但请注意,自行对结果进行排序会返回一个 Array
而不是 Realm Results
对象。这意味着会有性能和内存开销,因为 Results
是惰性的,如果使用上述方法进行排序,您将失去惰性行为,因为 Realm 必须评估每个对象!您应该尽可能坚持结果。只有在确实没有其他方法可以对您的项目进行排序时才使用上述方法。
关于database - 如何使用 Realm 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283405/