错误的RealmSwift

时间:2017-04-26 03:22:08

标签: swift3 realm

这部分代码:

var posts: Results<Post> {
    get {
        return realm.objects(Post.self).sorted(byKeyPath: "id", ascending: false)
    }
}

返回类似

的ID
  

96,950,94,930

我的帖子ID为String。如何在不制作id Int的情况下获得正确的排序对象。

1 个答案:

答案 0 :(得分:1)

不幸的是,当通过String属性进行排序时,Realm会自动按字母顺序对其进行排序,而不是按数字排序。

添加通过块/闭包join手动对属性进行排序的功能,但还没有任何内容可以宣布。我建议你去'+1'特定的GitHub线程,这样它可以获得更多的优先权。 :)

如果可以,最理想的解决方案是将id更改为Int属性。如果做不到这一点,njzk2将Results手动排序到Swift数组中的解决方案'将会起作用,但这会将所有Realm对象一次性地分页到内存中(导致更多开销),因此它不是最佳的。