[英]Swift Tableview cell button image changed based on tableview data
我正在尝试解析JSON并将JSON响应值附加到tableview数组中。 在下面的响应subcategory
一些对象正在获取值,但有些对象却为空。
{
"category": [
{
"id": 0,
"subcategory": [ //Table cell button need to show green color
{
"subcategory_id": 10
}
]
},
{
"id": 0,
"subcategory": null //Table cell button need to show red color
}
]
}
我需要将值附加到数组中, like : [10, null,....]
。 如果子类别为null,则表示我需要存储null,否则需要存储其值。
应用于单元格后,如果该值为null,则需要更改单元格按钮Image。
我尽力解决了超出范围的问题,但在上述情况下我没有得到很好的结果。
这是我的代码
if indexPath.row < id.count {
cell.accessibilityValue = String(id[indexPath.row]) // If the cell.accessibilityValue not null then need to change cell button image.
}
cell.name_Label.text = name[indexPath.row]
cell.city_Label.text = city[indexPath.row]
从JSON self.id.append(items)
追加数组。 我得到like [10]
输出,但实际结果应为[10,null]
。 数组的长度不正确,如果数据为null或nil,则我需要数据为“ null”,因为我通过索引获取值,并且每个索引都知道为null或具有值,但必须存在
id
应该是optional Int
数组 subcategory_id
应该是optional Int
var subcategory_id: Int? var id: [Int?] = [] if let subCat = subcategory_id { id.append(subCat) } else { id.append(nil) // id=[nil] }
在你的cellForAtRow重载
id
是一个optional Int
( Int?
)数组,您必须将其拆开
cell.id_Label.text = id[indexPath.row]!
要么
if let i = id[indexPath.row] { cell.id_Label.text = "\\(i)" } else { print("id is nil") }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.