私は、コミュニティからのこの時間は、あまりにも多くの助けを得ることはありませんでしたが、私はそれを自分自身をソートするために管理し、私は私のような他の初心者のために、ここで答えを投稿するつもりです。..
final class CartProductRow: Row<CartProductCell>, RowType {
required init(tag: String?) {
super.init(tag: tag)
cellProvider = CellProvider<CartProductCell>(nibName: "CartProductCell")
}
}
class CartProductCell: Cell<CartProduct>, CellType {
@IBOutlet weak var productImage: UIImageView!
@IBOutlet weak var productName: UILabel!
required init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func setup() {
super.setup()
selectionStyle = .none
productImage.contentMode = .scaleAspectFill
productImage.clipsToBounds = true
productName.font = .systemFont(ofSize: 18)
for label in [productName] {
label?.textColor = .gray
}
height = { return 97 }
}
func loadImage(url: String) {
let url = URL(string:url)
self.productImage.kf.indicatorType = .activity
self.productImage.kf.setImage(with: url, options: [.transition(.fade(0.9))])
}
override func update() {
super.update()
textLabel?.text = nil
guard let product = row.value else { return }
if let url = product.smallImageUrl {
loadImage(url: url)
}
productName.text = product.name
}
}
私が試しましたこれは(私がやりたいことに非常に似ています):[リンク](https://blog.xmartlabs.com/2016/09/06/Eureka-custom-row-tutorial/)ですが、運がありません。コードを更新する必要があると思います。サンプルのレポを試しても、コンパイラのエラーが多く発生するため、修正する方法が見つからないようです。 –