Сортировка вложенных объектов Realm

#android #realm #kotlin

#Android #realm #kotlin

Вопрос:

У меня есть json:

 {
 "title": "Title 2",
 "body": "Body 2",
 "status_info": {
            "is_favorite": false,
            "is_like": false,
            "like_count": 0
        },
 "id": "47e7704e-89f1-4d0d-8da1-52a080d56f46"
}
  

И два объекта Realm:

 open class Actuality : RealmObject() {

    @PrimaryKey lateinit var id: String
    @SerializedName("status_info")
    lateinit var statusInfo: StatusInfo
   ...
}

open class StatusInfo : RealmObject() {

    @SerializedName("is_like")
    var isLiked: Boolean = false

    @SerializedName("is_favorite")
    var isFavorite: Boolean = false

    @SerializedName("like_count")
    var likeCount: Int = -1
}
  

И я использую RealmAdapter RealmResults для обновлений в реальном времени,
но у меня возникла проблема при попытке отсортировать фактические данные по количеству лайков.

Я пытался

 data?.sort("likeCount", Sort.DESCENDING)
data?.sort("statusInfo.likeCount", Sort.DESCENDING)
  

Но realm выдает мне исключение, что «Имя поля ‘likeCount’ не существует».
Как я могу обрабатывать вложенный объект realm в RealmResults?

Комментарии:

1. Сортировка ссылок пока не поддерживается, она имеет обратную связь с родительской и запрашивает класс, по которому вы хотите выполнить сортировку

2. @EpicPandaForce добавьте это в качестве ответа 😉

3. @piotrek1543 только сегодня он перешел в режим «выполняется», поэтому я жду возможности сказать, что это работает с любой версии: p

4. @EpicPandaForce как вы соотносите дочерние объекты с родительскими? Можете ли вы привести пример 🙂 Спасибо

5. @berkayk Подробнее об обратных ссылках вручную читайте здесь medium.com/@Zhuinden /…