swift - 如何在 Swift 的 tableView 中使用 if else 条件?
问题描述
]
在 tableViewCell 我有很多元素。我从 Api 获取状态,如果状态为“已调度”,则应勾选已调度标签。我正在上传图片,以便您可以很好地理解它。
if myOrderJSON[indexPath.row].status == "Placed"{
cell.placed.elementDesign(cornerRadius: 12, shadowRadius: 2, shadowOpacity: 0.5, offsetWidth: 2, offsetHeight: 2)
cell.placed.text = "\(myOrderJSON[indexPath.row].status) ✔︎"
}else if myOrderJSON[indexPath.row].status == "Dispatched"{
cell.dispatched.elementDesign(cornerRadius: 12, shadowRadius: 2, shadowOpacity: 0.5, offsetWidth: 2, offsetHeight: 2)
cell.dispatched.text = "\(myOrderJSON[indexPath.row].status) ✔︎"
}else if myOrderJSON[indexPath.row].status == "Delivered"{
cell.delivered.elementDesign(cornerRadius: 12, shadowRadius: 2, shadowOpacity: 0.5, offsetWidth: 2, offsetHeight: 2)
cell.delivered.text = "\(myOrderJSON[indexPath.row].status) ✔︎"
}else if myOrderJSON[indexPath.row].status == "Payment Received"{
cell.paymentReceived.elementDesign(cornerRadius: 12, shadowRadius: 2, shadowOpacity: 0.5, offsetWidth: 2, offsetHeight: 2)
cell.paymentReceived.text = "\(myOrderJSON[indexPath.row].status) ✔︎"
}
解决方案
在您的自定义UITableViewCell
中,覆盖prepareForReuse()
方法并重置text
所有内容labels
,即
class CustomCell: UITableViewCell {
//rest of the code...
override func prepareForReuse() {
super.prepareForReuse()
self.placed.text = nil
self.dispatched.text = nil
self.delivered.text = nil
self.paymentReceived.text = nil
}
}
推荐阅读
- javascript - HTML中的无效数字输入
- java - 如何解决 iText (java) 中的这个编译错误?
- url - Zendesk 文章编号无故更改
- python - 如何以可读性和有效的方式创建一个可迭代组合的字典,并将它们的索引元组作为键?
- python - 使用 selenium python 查找元素锚类元素导致 css 选择器错误
- python - 多重继承中的超级
- ios - 将 UITableView 上的选择限制为 2
- git - 将分叉存储库与分叉子模块同步,将原始存储库与原始子模块同步
- r - Quadprog 用于带约束的投资组合优化
- scala - 使用 sbt 获取存储库内容