2017-08-15 118 views
1

我有一个nstableview,用户可以在其中添加行。 每一行将直接保存到Core数据中。将数据的订购清单保存到核心数据中

此时,我可以请求核心数据的记录并按对象id排序以获得正确的顺序,因为对象ID与增量数字几乎相同。

但现在用户可以对行重新排序。 如何将这个新的行顺序保存到核心数据中?

回答

0

使用id作为订购的方式并不能保证能正常工作,所以你不应该那样做。

请改为添加一个表示顺序的字段。

我们所做的是有一个名为pos的字段,它是整数,我们将其设置为稀疏。第一个记录可以是100,第二个200等。然后,当我们重新排序时,我们将pos设置为前后记录的中点。每过一段时间,您都需要对记录重新编号。你做得越稀疏,你需要重新编号的次数越少。

当您添加一个新的记录将其设置为最高值+ 100(或任何间隔您正在使用)

+0

你需要存储的数量最多的记录,预期最高#* 100。所以,相应地挑(32可能很好)。 –