找不到接受字符串类型参数列表的 UIImage 类型的初始值设定项

Cannot find an initializer for type UIImage that accepts an argument list of type string

目前,这段代码可以运行,但是paris是一个固定值,我想输入一个变量,并在之前定义它。

let entry1 = data.paris[indexPath.row]
let  image = UIImage(named: entry1.filename)
cell2.bkImageView2.image = image
cell2.headingLabel2.text = entry1.heading

但是当我这样做时,下面会出现错误。找不到接受参数列表类型为 (named:string?!)

的 UIImage 类型的初始值设定项
let key1 = "paris"
let entry1 = data[key1][indexPath.row]
let  image = UIImage(named: entry1.filename)
cell2.bkImageView2.image = image
cell2.headingLabel2.text = entry1.heading

你有什么信息可以帮助我吗?

编辑:7 月 29 日 13h12

好的,按照你的解释,我有这个:

var entry = data[key][indexPath.row]
if let imgName = entry1.filename {
            let  image = UIImage(named: imgName!)
            cell2.bkImageView2.image = image
            cell2.headingLabel2.text = entry1.heading
        }

但是现在,我对最后一句话仍有错误 (cell2.headinglabel...) : "heading"

的使用不明确

有什么想法吗?但是对于之前的要求,完美!很好 ! :)

意思是entry1.filename是可选字符串,不是字符串,试试这个:

if let imgName = entry1.filename {
    let  image = UIImage(named: imgName)
}

请记住,图像也是可选的。