如何根据布尔值 属性 对领域结果进行排序
How to sort a realm Results based on a boolean property
我试过用自定义模式排序。但是因为它 return 是一个数组。这没有帮助。
因为我需要 return 类型作为结果。
例如:考虑以下内容:
class A:Object {
dynamic var name: String = "abc"
dynamic var isStrong: Bool = false
}
现在我怎样才能对上面的结果进行排序
我试过了
realm.objects(a.self).sorted({ (o1, o2) -> Bool in
return o1.isStrong && !o2.isStrong
})
这将生成一个排序数组。但我需要一个 realmResults 对象。
任何形式的帮助都会得到帮助。
谢谢你。 :)
您可以使用 bool
属性 对 Results
实例进行排序,但您不能实现 return Results
的自定义排序函数。 Results
仅支持基于 class 的实例属性排序,或者如果将它们添加到 SortDescriptor
.
则基于多个实例属性排序
虽然你不能定义自定义排序逻辑,但你现在的逻辑似乎只实现了基于单个bool
属性的降序排序,所以你可以使用Realm的内置实现相同的结果在 sorted(byKeyPath:,ascending:)
方法中。
realm.objects(A.self).sorted(byKeyPath: "isStrong",ascending: false)
我试过用自定义模式排序。但是因为它 return 是一个数组。这没有帮助。 因为我需要 return 类型作为结果。
例如:考虑以下内容:
class A:Object {
dynamic var name: String = "abc"
dynamic var isStrong: Bool = false
}
现在我怎样才能对上面的结果进行排序
我试过了
realm.objects(a.self).sorted({ (o1, o2) -> Bool in
return o1.isStrong && !o2.isStrong
})
这将生成一个排序数组。但我需要一个 realmResults 对象。 任何形式的帮助都会得到帮助。 谢谢你。 :)
您可以使用 bool
属性 对 Results
实例进行排序,但您不能实现 return Results
的自定义排序函数。 Results
仅支持基于 class 的实例属性排序,或者如果将它们添加到 SortDescriptor
.
虽然你不能定义自定义排序逻辑,但你现在的逻辑似乎只实现了基于单个bool
属性的降序排序,所以你可以使用Realm的内置实现相同的结果在 sorted(byKeyPath:,ascending:)
方法中。
realm.objects(A.self).sorted(byKeyPath: "isStrong",ascending: false)