2017-06-17 60 views
0

我在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幫助查找一個建築物中的最大房間數? 這可能嗎?

回答

1

您可以通過房間的數量建築物的列表進行排序,只是採取的第一個元素:

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

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

0

隨着規則排列,可能是這樣的:

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

但我不知道這是否會與List類型的工作。

+0

謝謝,但應用程序崩潰與:終止應用程序由於未捕獲的異常「RLMException」,原因是:「嵌套關鍵路徑尚未得到KVC收集運營商的支持。 – TyM6JIep