如何对Realm关系查询进行排序?

时间:2016-03-15 20:26:42

标签: swift realm

我的Realm数据库中有两个模型来捕捉父母有孩子的想法:

class Parent: Object {
  dynamic var firstName: String
  dynamic var lastName: String
  var children: [Children] {
    return linkingObjects(Children.self, forProperty: "parent")
  }
}

class Children: Object {
  dynamic var firstName: String
  dynamic var lastName: String
  dynamic var parent: Parent?
}

以下查询用于获取给定父级的子级列表:

dataArray = ParentObj.children

但我想要实现的是一个有序的儿童名单。

dataArray = ParentObj.children.sorted("firstName")

我如何做到这一点?

1 个答案:

答案 0 :(得分:1)

Parent.children类型为[Children](或Array<Children>),不属于Results<Children>类型。 Swift的数组类型没有sorted重载函数,它接受String参数,但是Results does,这可能是这个参数的来源混乱。

因此,要对Swift数组进行排序,可以使用带有闭包的sort()函数:

dataArray = ParentObj.children.sort { $0.firstName < $1.firstName }