在我的Swift编写的iOS应用程序中,每行有一个UITableView
。除此之外,我还有一本UILabel
类型的词典。
我希望[String:Int]
行中的每个UILabel
都包含字典中的字符串值。每一行将是UITableView
值所表示的次数。
例如,假设我有一本字典:
var dict: [String:Int] = ["apple": 2, "Banana": 3, "Orange": 7]
所以在
Int
中,我需要有两行UITableView
标签,三行Apple
标签,七行Banana
标签。我怎样才能在
Orange
方法中实现这一点? 最佳答案
首先,需要一个数组作为数据源来返回delegate方法numberOfRows
和cellForRow
的正确值。
要将字典转换为合适的数组,请使用以下内容
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"]
关于ios - 使用Swift将String:Int字典中的项目添加到iOS上的UITableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44132433/