Ios 在tableViewCell中显示图像数组中的图像

Ios 在tableViewCell中显示图像数组中的图像,ios,uitableview,Ios,Uitableview,每次运行下面的代码以显示单元格表视图上数组中的图像时,我都会收到一条错误消息 错误消息: 无法将类型为'NSTaggedPointerString'(0x10b7ae860)的值强制转换为'NSArray'(0x10b7ae900) 此处产品的输出为:产品NSTaggedPointerString*“AW”0xa000000000053552 var product=NSArray!() var-imageProduct=[“AW”:UIImage(名为:“MAC.png”),“AC”:UI

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

错误消息:

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

此处产品的输出为:产品NSTaggedPointerString*“AW”0xa000000000053552

var product=NSArray!() 
var-imageProduct=[“AW”:UIImage(名为:“MAC.png”),“AC”:UIImage(名为:“Windows.png”)]
让initialThumbnail=UIImage(名为:“ABC.png”)
让产品=产品[indexPath.row]
对于关键产品,请参见![任何对象]{
如果让image=self.imageProduct[键为!字符串]{
如果image==nil{
myCell.imageView?.image=初始缩略图
}
否则{
myCell.imageView?.image=image
}
}

}
似乎
产品
只是一个字符串,而不是数组。这意味着您不需要
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 
    }
}

您确定
product[indexPath.row]
是数组吗?是-->var product=NSArray!()我不是说产品。我在问
product[indexPath.row]
是否是数组?我在它上面放了一个断点,一个it show me products-->NSString-->值为=“AW”的任何对象不是拼写错误吗?我的意思是数组应该称为产品,但你称它为产品。因此,
作为关键产品![AnyObject]
可能应该阅读
作为产品的密钥![AnyObject]
因为
prduct
是数组的名称。还有,当出现错误时,哪一行高亮显示?