使用Objective-C对象的Swift可选链接

时间:2014-07-23 02:16:08

标签: ios objective-c uikit swift

在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中,它也表示可以在选项上调用方法。有任何想法吗?

提前致谢!

0 个答案:

没有答案