【发布时间】:2023-03-28 08:19:01
【问题描述】:
如何将图像从 HomeViewController 显示到 CartViewController
我在单元格中设置了数据从一个 VC 传递到另一个 VC 的代码,
我试图在数据传递时呈现图像
在按下 atcBtn 后数据从 HomeVC 传递到 CartVC 时,我如何显示图像
我标签中的所有数据都可以通过,只是图像数据无法通过
我从堆栈尝试了几种方法,但在 CartVC 中显示图像时仍然不断收到错误代码
class CartViewController: UIViewController {
var items: Items!
@IBOutlet weak var cartTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
cartTableView.dataSource = self
cartTableView.delegate = self
}
}
extension CartViewController: UITableViewDataSource, UITableViewDelegate {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return Cart.currentCart.cartItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CartCell", for: indexPath) as! CartCell
let cart = Cart.currentCart.CartItems[indexPath.row]
cell.store.text = cart.items.store
cell.lblMealName.text = (cart.items.name)
cell.lblSubTotal.text = "$\(cart.items.cost)"
cell.imageUrl.image = cart.imageUrl // can't figure out how to get this to code to work since it is an Image to String issue
return cell
class CartCell: UITableViewCell {
@IBOutlet weak var lblMealName: UILabel!
@IBOutlet weak var imageUrl: UIImageView!
@IBOutlet weak var lblSubTotal: UILabel!
@IBOutlet weak var lblWeight: UILabel!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
}
【问题讨论】:
-
我没有看到您的
CartCell的代码?你有UIImageView吗?假设您已经传递了正确的Items并且它有imageUrl变量... -
尝试在 HomeCell 类中将 imageUrl 数据类型从 UIImage 替换为 UIImageView
-
@Tj3n CartCell 除了标签和图像的 IBOutlets 之外什么都没有,这就是为什么我没有将它添加到我的代码中,如果你愿意,我可以添加它,如果它有帮助,数据通过CartCell 中的标签非常好,它只是我正在努力解决的图像
-
那么它应该只是
cell.itemImageView.sd_setImage(with: URL(string: items.imageUrl))?类似于您的HomeCell代码,不知道是什么问题 -
您的
HomeCell中已经有一个configure(withItems:)方法来在单元格中显示项目。为您的CartCell项目复制该方法..
标签: ios swift firebase uitableview sdwebimage