Swift 在UITableView中移动行后如何更新CoreData?

Swift 在UITableView中移动行后如何更新CoreData?,swift,uitableview,core-data,Swift,Uitableview,Core Data,我在UITableView中显示了一组数据,我的数据源来自核心数据多对多关系的NSSet。如果用户在表视图中移动一行,我希望它在核心数据中具有永久性影响。因此,当重新加载表视图时,您可以看到更改,并且NSSet将按照用户在移动行后留下的方式重新排序。我想知道什么方法最适合这个。谢谢 如果按顺序指定关系,则它将表示为ensorderedset,而不是NSSet。顾名思义,有序集允许您指示它包含的项的顺序。为了反映用户选择的顺序,最好的处理方法是提供一个可变有序集()的方法,您可以使用各种添加、插入

我在UITableView中显示了一组数据,我的数据源来自核心数据多对多关系的NSSet。如果用户在表视图中移动一行,我希望它在核心数据中具有永久性影响。因此,当重新加载表视图时,您可以看到更改,并且NSSet将按照用户在移动行后留下的方式重新排序。我想知道什么方法最适合这个。谢谢

如果按顺序指定关系,则它将表示为
ensorderedset
,而不是
NSSet
。顾名思义,有序集允许您指示它包含的项的顺序。为了反映用户选择的顺序,最好的处理方法是提供一个可变有序集()的方法,您可以使用各种添加、插入、移动、替换、删除方法对其重新排序。

您可以使用此方法,但请注意,您需要一个块,并且在块内需要写入CoreData(否则会出现数据不一致错误)谢谢你的评论,这会在视觉上起作用,但不会持久。你需要在区块内持久化CoreData关系定义为有序吗?不,会有帮助吗?啊,那会有意义的。是的。我不知道你可以将关系设置为有序集。谢谢你的回复,我会尝试一下,然后回复你。谢谢你u!工作得很好