查找最多计数项目列表

时间:2017-06-17 20:23:54

标签: ios swift realm

我在iOS上使用Realm数据库,需要显示一栋楼内办公室的最大数量。我创建了模型:

class Building: Object {
    dynamic var street: String!
    dynamic var number: Int!

    let offices = List<Office>()
}

class Office: Object {
    dynamic var square: Int!
    dynamic var number: Int!
    dynamic var floor: Int!

    let rooms = List<Room>()
}

class Room: Object {
    dynamic var width: Int!
    dynamic var height: Int!
}

如何在@count或@max帮助下找到一栋建筑物的最大房间数? 有可能吗?

2 个答案:

答案 0 :(得分:1)

您可以按房间数量对建筑物列表进行排序,然后选择第一个元素:

let soredOffices = soredOffices.sorted { $0.rooms.count > $1.rooms.count }
if let maxNumberOfRooms = soredOffices.first {
    //use maxNumberOfRooms
}

答案 1 :(得分:0)

使用常规数组可能是这样的:

building.value(forKeyPath: "offices.@max.rooms.@count")

但我不确定它是否适用于List类型。