当前位置:  开发笔记 > 编程语言 > 正文

对领域列表进行排序并保留结果

如何解决《对领域列表进行排序并保留结果》经验,为你挑选了1个好方法。

我有一个Realm包含产品列表的模型:

class StorageArea: Object {
    dynamic var name = ""
    let products = List()
}

如何按字母顺序对产品进行排序并将结果保留在Realm中?我在List类上找不到任何可变方法来重新排序元素并保持有序结果.

我有一个TableViewController显示所有产品.用户可以移动产品tableView,退出应用程序并重新启动应用程序:已保留订购的产品列表.我正在使用List.move(from,to).

现在我想添加一个选项,按字母顺序或按日期对产品进行排序.您建议修改产品列表并保存它?



1> marius..:

您可以通过首先检索已排序的产品列表来实现此目的,然后从列表中删除所有项目并将其全部重新添加到新订单中.

realm.write {
    let storageArea = …
    let sortedProducts = Array(storageArea.products.sorted("name"))
    storageArea.products.removeAll()
    storageArea.products.appendContentsOf(sortedProducts)
}


@Michal:不,它只是从列表中删除引用并重新添加它们.持久产品不受此影响.
推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有