Realm Swiftで複数のソート条件を指定するには

Realm Swiftでソート条件を指定するには以下のように記述しますね。

import RealmSwift

class User: Object {
  dynamic var id = ""
  dynamic var name = ""
  dynamic var sex = ""
  dynamic var age = 0
}

Userオブジェクトを「age」の降順でソートするには

let realm = try! Realm()
let results = realm.objects(User.self).filter("sex='1'").sorted(byKeyPath:"age", ascending: false)

ですね。

次に本題。
複数条件でのソートはsorted(by:)メソッドと、複数のSortDescriptorオブジェクトを利用します。

let sortProperties = [
    SortDescriptor(property: "age", ascending: false),
    SortDescriptor(property: "name", ascending: true) ]

let realm = try! Realm()
let results = realm.objects(User.self).filter("sex='1'").sorted(by:sortProperties)

よく使うので備忘録。

スポンサーリンク
PR
PR

シェアする

  • このエントリーをはてなブックマークに追加

フォローする