每次运行此代码时,我都会收到一条错误消息,以便从我的单元格表视图中的数组中显示我的图像。
错误消息:
无法将'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
}
}
}
答案 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
}
}