【发布时间】:2017-06-13 16:57:23
【问题描述】:
我的总体目标是创建一个 UITableView,它根据字典中的值具有按字母顺序排列的部分标题。
我有一个包含水果名称和描述的基本对象。我希望每个水果的名称都显示在 UITableCell 上,在部分标题的对应字母下方。
最终,tableview 将如下所示:(其中 C P S 是节标题)
C------------
Clementine
Cherry
Coconut
P------------
Pear
Peach
S------------
Strawberry
这是我的数据:
var fruitModel = [String:Any]()
fruitModel = [
"C" : [
FruitModel(name: "Clementine", description: "Clementines are super tasty!"),
FruitModel(name: "Cherry", description: "Cherry's are red."),
FruitModel(name: "Coconut", description: "Nuts for coconuts!!!"),
],
"P" : [
FruitModel(name: "Pear", description: "Pears rock!"),
FruitModel(name: "Peach", description: "Mmmm, Peach."),
],
"S" : [
FruitModel(name: "Strawberry", description: "A widely grown hybrid species of the genus Fragaria. It is cultivated worldwide for its fruit.")
]
]
让我失望的部分是访问字典值中的名称字符串,并将其显示在 cellForRowAt 中。下面的代码是我卡住的地方:
cellForRowAt:
var allValues = Array(fruitModel.values)
cell.fruitNameLabel.text = (allValues[indexPath.row] as AnyObject).name // Cannot subscript a value of type 'inout Array<Any>'
一旦我弄清楚如何在每个单元格中显示水果名称,我就可以让部分标题正常工作。我只需要帮助解决我遇到的错误。谢谢。
【问题讨论】:
标签: ios swift uitableview dictionary