我在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帮助下找到一栋建筑物的最大房间数? 有可能吗?
答案 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
类型。