在B4中,他们将IBOutlet
改为选项(正确地......)。
但结果,让我们说你有UIImageView
。由于它是UIImageView?
,它将被声明为IBOutlet
。
考虑以下Obj-C代码:
[myImageView setImage:[UIImage imageNamed:@"someImage"]];
因为快速代码的myImageView
是可选的,所以我觉得应该可以做到:
myImageView?.image(UIImage(named:"someImage"))
但我不能。我得到了
'(UIImage) - > $ T6'与' UIImage'
不同
我能做到:
myImageView?.setValue(UIImage(named:"someImage"), forKey: "image")
很好,但那是字符串打字,只是简单的愚蠢。
所以我必须诉诸的是:
if let iThoughtSwiftWasSupposedToBeLessVerbose = myImageView {
iThoughtSwiftWasSupposedToBeLessVerbose.image = UIImage(named:"someImage")
}
这里发生了什么?即使在guide中,它也表示可以在选项上调用方法。有任何想法吗?
提前致谢!