我目前正在快速使用 Realm。我正在使用 Realm 结果对象来填充 UITableViewController。UITableViewController 具有添加/删除功能。现在,所有这些都适用于 RealmResults。但我需要以不同的方式对结果进行排序。我注意到有一个领域列表。但是如果我开始添加或删除对象,我是否需要自己管理列表中的对象?使用 Realm Query 对象,它会自动更新。在我的情况下,解决问题的最佳方法是什么?谢谢。
问问题
104 次
1 回答
0
这是一个很好的问题!领域结果是自动更新的,并且总是反映查询的当前状态,但排序是有限的。
对于小型数据集,为结果提供自定义排序可能是合理的,但每次更新结果时都需要重新应用排序。
class MyViewController: UIViewController {
var sortedResults = [Person]()
var notificationToken: NotificationToken? = nil
override func viewDidLoad() {
super.viewDidLoad()
let realm = try! Realm()
let results = realm.objects(Person).filter("age > 5")
notificationToken = results.addNotificationBlock { [weak self] _ in
self?.sortedResults = results.sort { a, b in
/* custom sorting here */
return a > b
}
self?.updateUI()
}
}
}
于 2016-05-03T11:01:22.590 回答