database - 如何使用 Realm 进行排序?

标签 database swift sorting realm

我不知道如何使用 Realm 进行排序。我当前的代码是。

data = realm.objects(WorkoutSet)
data = data!.sorted("date")

我想对 dateInt 从大数到小数进行排序。文档需要更多信息,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/

相关文章:

swift - 需要有关自动布局 anchor 的帮助

Python 3.6——排序的元组集

bash - 我该如何加快速度?

java - 如何将图像插入SqLite DB

C# ASP.net MVC 数据库问题

sql - RDB 中的子关系

database - 在 App Engine Datastore 中查询缺少属性的实体?

swift - 条形按钮项目无角半径

swift - 如何在 Swift 中更改 backBarButtonItem 的颜色?

sorting - 如何在 dapper 扩展中使用 DESC 顺序根据 Order by 子句对数据进行排序?