2017-01-23 14 views
0

Я использую realm db (https://realm.io/) в приложении iOS, я нашел странное поведение. Я вставляю несколько записей в таблицу в записи порядка 1, записи2 и записи3, однако в одном из iPad моего клиента порядок результата чтения случайный, но в моем iPad порядок чтения всегда совпадает с вставкой: record1, запись2 и запись3.странный порядок записи в Realm

У кого-нибудь есть подсказки, почему это происходит?

+0

Нет удалять, редактировать после вставки. –

+1

это всегда случайная выборка, вы должны сортировать после выборки или добавить метку времени на объект – Tj3n

ответ

2

По умолчанию упорядочение объектов Realm при вставке в базу данных не гарантируется.

Если вы хотите точно контролировать порядок списка объектов, лучше практика, чтобы создать другой Realm класс модели (например, MyObjectList), добавить объект Realm List к нему, а также добавлять объекты, которые вы хотите заказать, как дети этого объекта.

Другим способом является добавление дополнительного имущества к вашим объектам, например orderedIndex, и увеличивайте их до возраста. Когда вы запрашиваете свои объекты, вы затем используете метод .sort() для сортировки по этому свойству.

+0

Что делать, если у меня есть объекты 10k в царстве и вы хотите отсортировать их по свойству orderedIndex? Есть ли какой-либо ленивый трюк, когда дело доходит до сортировки, или мы все равно столкнемся с ухудшением производительности при сортировке огромного количества данных? @Тим –