查找最大计数物品清单

问题描述:

我在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帮助查找一个建筑物中的最大房间数? 这可能吗?

您可以通过房间的数量建筑物的列表进行排序,只是采取的第一个元素:

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

太棒了!非常感谢你! – TyM6JIep

随着规则排列,可能是这样的:

building.value(forKeyPath: "[email protected]@count") 

但我不知道这是否会与List类型的工作。

+0

谢谢,但应用程序崩溃与:终止应用程序由于未捕获的异常“RLMException”,原因是:“嵌套关键路径尚未得到KVC收集运营商的支持。 – TyM6JIep