2016-10-09 4 views
2

У меня есть RealmObject с RealmList как одно из его полей.RealmList в RealmObject. Как сохранить порядок?

public class ToyMaker extends RealmObject { 
    private RealmList<Toy> toyList; 
    ... 
} 

public class Toy extends RealmObject { 
    ... 
} 
  1. Будет ли порядок Toy в toyList сохраняться при записи в Realm и читать его обратно?

  2. Если заказ не сохраняется на Realm, как я могу добиться этого вручную, учитывая, что

    A. Я не могу добавить дополнительные поля (например, индекс) в Toy классе (а Toy может иметь много ToyMaker поэтому поля индекса в Toy не представляется возможным.

    B. упорядочение в том порядке, в Toy добавляется toyList.

ответ

4

A RealmList заказывается, поэтому случай № 1 является правильным. Просто добавьте их в том порядке, который вы хотите, и этот порядок будет сохранен.

В общем, хотя, заказ не гарантируется, поэтому создание 2 объектов в области не означает приказ:

realm.createObject(Person.class, 1); 
realm.createObject(Person.class, 2); 

// Doing this is not guaranteed to return Person:1 
realm.where(Person.class).findAll().first() 

// Always use a sort in queries if you want a specific order 
realm.where(Person.class).findAllSorted("id", Sort.ASCENDING).first(); 
+0

Я не смог найти этот кусок информации о царстве Docs, я думаю, что это будет отлично, если вы можете добавить это в документы. Благодаря! – Weizhi

Смежные вопросы