2017-05-01 70 views
0

我有一個應用程序,我需要按照輸入的順序保持數據的順序。數據輸入到List屬性中。一切工作很好,直到我必須刪除一個項目。當發生刪除時,列表中的最後一個項目取代了已刪除的項目。 UITableView顯示正確的項目數量,但未與領域列表同步。如何按照輸入的順序保持領域數據

一個例子是,如果我有數據:

1,2,3,4,5,6

我然後刪除:

境界數據看起來像此:

1,2,如圖6所示,4個,5

的tableview中看起來像這樣:

1,2,4,5,6

領域數據的期望的結果將匹配的tableview輸出。

是否有任何方法可以在項目被刪除後保持數據順序的變化?

+0

領域總是以與添加順序相同的順序返回項目。從你的問題來看,它看起來像是在按照正確的順序執行它的工作。你在哪裏以及如何看到「領域數據」? –

+0

領域不會按照添加的順序返回對象。對象返回的順序是未定義的,並且,如原始問題註釋,可以在移除對象時更改。 – bdash

+0

拉維,我看到使用領域瀏覽器的變化。 –

回答

1

Realm中的對象本質上是無序的。如果您希望按照您控制的特定順序檢索對象,可以通過將對象插入對象的List屬性中,或者通過對用於檢索對象的Results進行排序來實現。

+0

對象位於列表屬性中。它們保持順序,直到其中一個對象被刪除。這是訂單改變的時候。 –

+0

刪除對象不會導致列表中對象的順序發生更改。你是否期望被添加到列表屬性的對象會影響通過列表屬性以外的其他東西獲取的對象的順序? – bdash

+0

謝謝,我終於學會了如何對結果進行排序!我在模型中添加了日期屬性,創建了一個按日期排序的「結果」變量。 Realm Browser中的數據在刪除後改變了數據的順序,但tableview以正確的順序顯示了正確的數據。 –

相關問題