gpt4 book ai didi

ios - var 晚了不要醒来

转载 作者:行者123 更新时间:2023-11-28 13:41:00 25 4
gpt4 key购买 nike

当变量跳动 == "true"时文本必须为红色

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! InstallmentTableViewCell

if self.switchInstallmentToPay == true {
if let installment = PaymentManager.paymentPlan?.unpaidInstallments![indexPath.row] {
if let id = installment.id, let paymentDue = installment.paymentDue, let description = installment.numberDescription, let method = installment.paymentMethodDescription, let expectedPayment = installment.expectedPayment, let actualPayment = installment.actualPayment, let payable = installment.payable, let late = installment.late {
cell.load(id: id, paymentDue: paymentDue, description: description, method: method, expectedPayment: expectedPayment, actualPayment: actualPayment, payable: payable, late: late)
if installment.payable! {
cell.accessoryType = .checkmark
cell.tintColor = UIColor.lighterGray
cell.isUserInteractionEnabled = true
if installment.late! {
cell.lbDescription.textColor = UIColor.danger // not working
}

}else{
cell.accessoryType = .none
//cell.tintColor = UIColor.lightGray
cell.isUserInteractionEnabled = false
}
}
}
}else{
if let installment = PaymentManager.paymentPlan?.paidInstallments![indexPath.row] {
if let id = installment.id, let paymentDue = installment.paymentDue, let description = installment.numberDescription, let method = installment.paymentMethodDescription, let expectedPayment = installment.expectedPayment, let actualPayment = installment.actualPayment, let payable = installment.payable, let late = installment.late {
cell.load(id: id, paymentDue: paymentDue, description: description, method: method, expectedPayment: expectedPayment, actualPayment: actualPayment, payable: payable, late: late)
cell.accessoryType = .none
cell.isUserInteractionEnabled = false

cell.lbDescription.textColor = UIColor.black // not working

cell.tintColor = UIColor.lighterGray
}
}
}
return cell
}

最佳答案

这段代码很难阅读,而且有很多冗余。如果您使用 Storyboard,我建议为已付和未付分期付款制作单独动态单元格。 两个 单元格的类类型可以保留 InstallmentTableViewCell ,因为您只是在复制单元格的 View ,而不是它们的逻辑。可以在 Storyboard的单元格原型(prototype)中设置各种元素的颜色和样式,然后是您的 tableView(_:cellForRowAt:indexPath)可以简化为just

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellID = switchInstallmentToPay ? "unpaidCell" : "paidCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath) as! InstallmentTableViewCell
cell.load(...)

return cell
}

我还建议更改 cell.load()采取installment参数并在那里设置单元格的属性,而不是用多个 if let 使调用者困惑秒。

关于ios - var 晚了不要醒来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56027442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com