Realmを使用して並べ替える方法がわかりません。私の現在のコードは。
data = realm.objects(WorkoutSet)
data = data!.sorted("date")
date an Int
を大きい数字から小さい数字に並べ替えたい。ドキュメントにはさらに情報が必要で、GitHubリンクは404
メッセージ。
ascending
パラメーターをsorted
メソッドに追加できます。
data = data!.sorted("date", ascending: false)
これにより、日付フィールドを使用してWorkoutSetが降順に並べ替えられます。
更新
Swift 3およびRealmSwiftの最新バージョンでは、次のように変更されました。
data = data!.sorted(byKeyPath: "date", ascending: false)
ソート基準を自分で評価する場合は、次を使用できます。
data = data!.sorted(by: { (lhsData, rhsData) -> Bool in
return lshData.something > rhsData.something
})
ただし、結果を自分でソートすると、Realm Array
オブジェクトではなくResults
が返されることに注意してください。 Results
が遅延しているため、パフォーマンスとメモリのオーバーヘッドがあることを意味します。上記の方法でソートすると、Realmが各オブジェクトを評価する必要があるため、その遅延動作が失われます。可能な限り結果に固執する必要があります。アイテムを並べ替える他の方法がない場合にのみ、上記の方法を使用してください。