根据交易状态更改 UIImage

问题描述

import UIKit

class TransactionTableViewCell: UITableViewCell {

@IBOutlet weak var name: UILabel!
@IBOutlet weak var price: UILabel!
@IBOutlet weak var status: UIImageView!

let transactionStatus = DataManager.shared.transactionController.transactions



override func awakeFromNib() {
    super.awakeFromNib()
    
}

override func setSelected(_ selected: Bool,animated: Bool) {
    super.setSelected(selected,animated: animated)
    
    Status()
    
}

func Status() {
    let arr = transactionStatus.compactMap { $0 }
    for i in 0..<arr.count {
        if arr[i].status == "returned" {
            status.image = UIImage(assetIdentifier: .statusReturned)
        } else if arr[i].status == "pending" {
            status.image = UIImage(assetIdentifier: .statusPending)
        } else if arr[i].status == "cleared" {
            status.image = UIImage(assetIdentifier: .statusCleared)
        } else {
            print("\(String(describing: arr[i].status)) + no matched ")
        }
}


extension UIImage {
  enum AssetIdentifier: String {
      // Status image names
      case statusPending,statusCleared,statusReturned
    }

    convenience init!(assetIdentifier: AssetIdentifier) {
      self.init(named: assetIdentifier.rawValue)
  }
}

嗨,我有一个问题,我写了一个函数,根据状态改变交易的状态图标(我从数据库收到的字符串),但它根据状态一次改变所有交易的图标收到的最后一笔交易,比如如果最后一个状态是“返回”,那么每个人都会有一个状态图标返回

我想知道为什么它会这样工作,所以问题是如何让每个图标单独更改而不是一次更改 what i got what i want 请注意屏幕左侧的图标

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)