我正在尝试解析 JSON 并在 tableview 数组中附加 JSON 响应值。在下面的响应 subcategory
几个对象我得到了值,但其中一些我得到了 null。
{
"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
}
]
}
我需要将值附加到数组 中,例如:[10, null,....]
。如果子类别 null 意味着我需要存储 null 否则它的值。
应用到单元格后,如果值为null需要更改单元格按钮图片。
我尽力解决超出范围的问题,但在上述情况下我没有得到很好的结果。
这是我的代码
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")
}
关于ios - Swift Tableview 单元格按钮图像根据 tableview 数据更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51733375/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |