3

フィールドの 1 つとしてaRealmObjectRealmListあります。

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

public class Toy extends RealmObject {
    ...
}
  1. Realm に書き込んで読み返すと、 Toyinの順序は保持されますか?toyList

  2. 注文がレルムによって保持されない場合、これを手動で達成するにはどうすればよいですか

    ToyA. ク​​ラスに追加のフィールド (インデックスなど) を追加することはできません(Toy多くのフィールドを含めることができるToyMakerため、インデックス フィールドを追加することはできませToyん。

    B. 順序は にToy追加された順序ですtoyList

4

1 に答える 1

6

ARealmListは注文済みなので、ケース #1 が正しいです。必要な順序で追加するだけで、その順序が保持されます。

一般に、順序は保証されていないため、Realm に 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();
于 2016-10-09T17:17:24.657 に答える