想知道是否有人遇到并解决了这个问题:
描述
我有 2 个名为 Person 和 Dog 的类,一个人可以养不止一只狗。
class Dog: Object {
dynamic var name = ""
dynamic var age = 0
}
class Person: Object {
dynamic var name = ""
dynamic var picture: NSData? = nil // optionals supported
let dogs = List<Dog>()
}
根据我的要求,我需要从 person.name == "ABC"中获取所有对象并应用按名称对所有狗进行排序。
片段:
let realm = try! Realm()
let result = realm.objects(Person.self).filter("name == %@","ABC").sorted(property : "name")
从上面的代码片段中,排序是根据人名而不是狗名进行的。
如何创建过滤器并按狗名对列表进行排序?
最佳答案
realm.objects(Person.self)
返回 Results<Person>
.打电话sorted()
至 Results<Person>
表示排序人。如果您想对 dogs
进行排序,您可以先检索 person 的元素(例如 let person = result[0]
),然后检索 dogs
属性(property),电话sorted()
方法。
let people = realm.objects(Person.self).filter("name == %@","ABC")
let person = people.first!
let sortedDogs = person.dogs.sorted(property : "name")
关于iphone - 境界+快速排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39915538/