我有一个nstableview,用户可以在其中添加行。 每行将直接保存到Core数据中。
目前我可以请求核心数据的记录并按对象id对其进行排序以获得正确的顺序,因为对象ID几乎与增量数字相同。
但现在用户可以重新排序行。 如何将这个新的行顺序保存到核心数据中?
答案 0 :(得分:0)
使用id作为订购方式无法保证正常工作,因此您不应该这样做。
而是添加一个代表订单的字段。
我们所做的是有一个名为pos
的字段,它是整数,我们稀疏地设置它。第一个记录可以是100,第二个记录可以是200,等等。然后当我们重新排序时,我们将pos设置为前后记录的中间点。每隔一段时间,您需要重新编号记录。你做得越稀疏,你需要重新编号就越少。
当您添加新记录时,将其设置为最大值+ 100(或您正在使用的任何间距)