2017-08-15 123 views
1

我有一個nstableview,用戶可以在其中添加行。 每一行將直接保存到Core數據中。將數據的訂購清單保存到核心數據中

此時,我可以請求核心數據的記錄並按對象id排序以獲得正確的順序,因爲對象ID與增量數字幾乎相同。

但現在用戶可以對行重新排序。 如何將這個新的行順序保存到核心數據中?

回答

0

使用id作爲訂購的方式並不能保證能正常工作,所以你不應該那樣做。

請改爲添加一個表示順序的字段。

我們所做的是有一個名爲pos的字段,它是整數,我們將其設置爲稀疏。第一個記錄可以是100,第二個200等。然後,當我們重新排序時,我們將pos設置爲前後記錄的中點。每過一段時間,您都需要對記錄重新編號。你做得越稀疏,你需要重新編號的次數越少。

當您添加一個新的記錄將其設置爲最高值+ 100(或任何間隔您正在使用)

+0

你需要存儲的數量最多的記錄,預期最高#* 100。所以,相應地挑(32可能很好)。 –