首页 > 解决方案 > 如何在 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) ✔︎"

}

标签: swifttableview

解决方案


在您的自定义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
    }
}

推荐阅读