计算tableview中名称等于的所有行

时间:2019-03-08 16:02:26

标签: swift uitableview google-cloud-firestore

我正在尝试计算名称等于特定名称的表视图中的所有数据,但是我迷路了,不确定如何继续前进,所以我在这里寻求您的帮助!

所以首先,我有一个包含很多行的表视图。他们所有人的牢房里都有狗名。

img

该表格视图中如何计算“ Selma”,“ Lexi”和“ Lexi&Selma”的数量?我想数个名字,所以看起来像这样:

Selma: 21
Lexi: 10 
Lexi & Selma: 35

我该怎么做?如果您知道此问题的答案,请告诉我。 :)确实对我有很大帮助! :)

1 个答案:

答案 0 :(得分:2)

要显示此表视图,您需要一些数据(数据源)。

然后,这取决于您的数据源,与传递给表视图的数据源相同。

您应根据您的数据源(数组,字典等)对此类数据进行分组。

您可以使用很多组函数,但这取决于数据源结构。

struct Person {
    let name: String
    let time: String
}


let array = [Person(name: "Selma", time: "12:15"),
                     Person(name: "Lexi", time: "13:15"),
                     Person(name: "Selma", time: "14:15"),
                     Person(name: "Lexi", time: "15:15"),
                     Person(name: "Lexi & Selma", time: "15:15"),
                     Person(name: "Lexi", time: "15:15"),
                     Person(name: "Lexi", time: "15:15"),
                     Person(name: "Lexi & Selma", time: "16:15"),
                     Person(name: "Selma", time: "17:15")]



let set = NSCountedSet(array: array.map{ $0.name })        
set.forEach{ print("\($0): \(set.count(for: $0))") }