Результаты области могут быть отсортированы различными способами. Согласно комментариям есть кнопка, которая позволяет сортировать данные по имени, дате и размеру.
Я не знаю, как выглядит объект, но давайте рассмотрим простой пример
class ScanClass: Object {
@objc dynamic var name = ""
@objc dynamic var date = ""
@objc dynamic var size = 0
}
и мы создадим три объекта ScanClass и сохраним их в Realm
let s0 = ScanClass()
s0.name = "scan 0"
s0.date = "20191201"
s0.size = 100
let s1 = ScanClass()
s1.name = "scan 1"
s1.date = "20200115"
s1.size = 50
let s2 = ScanClass()
s2.name = "scan 2"
s2.date = "20190701"
s2.size = 12
//write the objects to realm
, и у нас будет объект результатов класса для хранения результатов в
class ViewController: NSViewController {
var scanResults: Results<ScanClass>? = nil
, мы изначально загружаем результаты в и обновите tableView, чтобы отобразить их
override func viewDidLoad() {
super.viewDidLoad()
self.scanResults = realm.objects(ScanClass.self)
self.scanTableView.reloadData()
и (согласно комментариям в вопросе) предположить, что в пользовательском интерфейсе есть кнопка, где пользователь может выбрать способ сортировки результатов. Если пользователь выбрал «Сортировать по имени», запускается следующий код
self.scanResults = realm.objects(ScanClass.self).sorted(byKeyPath: "name", ascending: true)
self.scanTableView.reloadData
scan 0 20191201 100
scan 1 20200115 50
scan 2 20190701 12
, а затем, если пользователь в последний раз выбирает «Сортировать по дате»
self.scanResults = realm.objects(ScanClass.self).sorted(byKeyPath: "date", ascending: true)
self.scanTableView.reloadData
scan 2 20190701 12
scan 0 20191201 100
scan 1 20200115 50
, если пользователь выбирает «Сортировать» По размеру "
self.scanResults = realm.objects(ScanClass.self).sorted(byKeyPath: "size", ascending: true)
self.scanTableView.reloadData
scan 2 20190701 12
scan 1 20200115 50
scan 0 20191201 100
Очевидно, что если вы хотите запомнить, что последний выбранный пользователем для сортировки по этому параметру мог быть сохранен в пользовательских значениях по умолчанию или области, поэтому при следующем отображении tableView он будет автоматически сортироваться по их последний выбранный вариант.