从图像数组中显示tableViewCell中的图像

时间:2015-11-29 21:16:07

标签: ios uitableview

每次运行此代码时,我都会收到一条错误消息,以便从我的单元格表视图中的数组中显示我的图像。

错误消息:

  

无法将'NSTaggedPointerString'(0x10b7ae860)类型的值转换为'NSArray'(0x10b7ae900)

这里的产品输出是:产品NSTaggedPointerString *“AW”0xa000000000053552

var product = NSArray!() 
var imageProduct = ["AW":UIImage(named: "MAC.png"),"AC":UIImage(named: "Windows.png")]
         
let initialThumbnail = UIImage(named: "ABC.png")
let products = product[indexPath.row]

for key in products as! [AnyObject] {
  if let image = self.imageProduct[key as! String] {
    if image == nil {  
      myCell.imageView?.image = initialThumbnail 
    }
    else {
      myCell.imageView?.image = image
    }
  }
}

1 个答案:

答案 0 :(得分:0)

似乎products只是一个字符串,而不是一个数组。这意味着您不需要for循环。此外,您有条件地从imageProduct字典中展开图像,但是在下一行中您将其检查为nil,这不是因为您只是有条件地解开它。

你想要 -

let initialThumbnail = UIImage(named: "ABC.png")
let products = product[indexPath.row]

if let image = self.imageProduct[products as! String] {
    if image == nil {  
        myCell.imageView?.image = image
    }
    else {
       myCell.imageView?.image = initialThumbnail 
    }
}