以下のような「商品カテゴリーモデル」と、それに紐づく「商品アイテムモデル」があり、ここからrealmでソートした状態でデータを取得したいと思っています。
●商品カテゴリーモデル(Category.swift)
Model
1import Foundation 2import RealmSwift 3 4class Category: Object { 5 @objc dynamic var name: String = "" 6 @objc dynamic var order: Int = 0 // ソート目的で使用 7 let items = List<Item> 8}
●商品アイテムモデル(Item.swift)
Model
1import Foundation 2import RealmSwift 3 4class Item: Object { 5 @objc dynamic var name: String = "" 6 @objc dynamic var order: Int = 0 // ソート目的で使用 7 let category = LinkingObjects(fromType: Category.self, property: "items") 8} 9
「商品カテゴリー名を昇順にソート」、かつ「商品アイテム名を昇順ソート」したデータを取得し、TableViewに表示したいと考えていますのですが、この方法がわかりません。
商品カテゴリー名を昇順に並べたデータであれば、次のように書くことで取得できると思いますが、さらにリレーション先の商品名もソートした状態でデータを取得するにはどうすれば良いでしょうか?
let categories = realm.objects(Category.self).sorted(byKeyPath: "order", ascending: true)
そもそもrealmではこのようなことは難しいのでしょうか。
ご教示いただけますと幸いです。
あなたの回答
tips
プレビュー