繁体   English   中英

使用Swift将String:Int字典中的项目添加到iOS上的UITableView

[英]Add items from a String:Int dictionary to UITableView on iOS using Swift

在我用Swift编写的iOS应用中,我有一个UITableView ,每一行都有一个UILabel 除此之外,我还有[String:Int]类型的Dictionary。

我希望UITableView行中的每个UILabel都包含字典中的String值。 每行将是Int值表示的次数。

例如,假设我有这本字典:

var dict: [String:Int] = ["apple": 2, "Banana": 3, "Orange": 7]

因此,在UITableView我需要有2行带有Apple标签,其中3行带有Banana标签,以及7行带有Orange标签。

如何在tableView(cellForRowAt:)方法中完成此操作?

首先,您需要一个数组作为数据源来为委托方法numberOfRowscellForRow返回正确的值。

要将字典转换为合适的数组,请使用类似以下的内容

let dict = ["apple": 2, "Banana": 3, "Orange": 7]

var fruit = [String]()

for key in dict.keys.sorted(by: {$0.lowercased() < $1.lowercased() }) {
    let value = dict[key]!
    for _ in 0..<value {
        fruit.append(key)
    }
} // result: ["apple", "apple", "Banana", "Banana", "Banana", "Orange", "Orange", "Orange", "Orange", "Orange", "Orange", "Orange"]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM