我很新,很快就无法弄清楚如何以编程方式更改UIImageView中的图片。我到目前为止尝试过这个:
if let image = UIImage(named: "mouse.jpg") {
imageView.image = image
print("image set")
}
但是在解开可选的致命异常时会导致找到nil。
mouse.jpg与swift文件位于同一文件夹中,可以在Xcode的检查器中设置为图像视图图像。
将代码包装在另一个代码中,如下所示:
if let iv = imageView{
if let image = UIImage(named: "mouse.jpg"){
iv.image = image
}
}
修复了nil错误,但根本没有改变故事板中设置的图片。
任何想法都会有所帮助
答案 0 :(得分:6)
如果const configs: { [name: string]: IConfigObject<any, any> } = {
config1: createConfig(fizz, 3),
config2: createConfig(fizz, "str"), // error
config3: createConfig(buzz, "str")
}
内部的代码执行,看起来它可能更适合您对imageView的引用而不是图像本身,因为此处的条件需要if
才能正确初始化。我猜你使用隐式解包的可选项来存储对UIImage
的引用:imageView
。
如果您使用的是var imageView: UIImageView!
,您是否检查过它是否正确连接?在设置@IBOutlet
属性之前,您确定您有UIImageView
的实际实例吗?