2017-01-23 88 views
0

我在iOS應用程序中使用realm db(https://realm.io/),我發現了一個奇怪的行爲。我在record1,record2和record3的順序中插入了幾條記錄,但是,在我的一個客戶的iPad中,讀取結果的順序是隨機的,但在我的iPad中,讀取順序始終與insert:record1相同, record2和record3。Realm的奇怪記錄順序

有沒有人有一些線索爲什麼會發生?

+0

插入後沒有刪除,編輯。 –

+1

它總是隨機提取,您應該在提取後對對象進行排序或在對象上添加時間戳 – Tj3n

回答

2

默認情況下,Realm對象插入數據庫時​​的排序不能保證。

如果你想明確地控制對象的列表的排序,最好的做法是創建另一個境界模型類(如MyObjectList),一個領域List對象添加到它,並添加你想訂購兒童的對象該對象。

另一種方法是向您的對象添加一個額外的屬性,如orderedIndex,並向上遞增。當您查詢您的對象時,然後使用.sort()方法按該屬性進行排序。

+0

如果我在像某個領域中有10k個對象並且想要使用orderedIndex屬性對它們進行排序,該怎麼辦?在排序時是否有任何延遲加載技巧,否則在排序大量數據時我們會面臨性能下降的問題? @TiM –