在目标C中,这是有效的代码行
self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero;
这是检查self.image是否为nil,然后选择left或right值。在Swift中,我想重新创建同一行代码。实际上,除了没有分号,它应该完全一样
self.scrollView.contentSize = self.image ? self.image.size : CGSizeZero
但这在我的Swift代码中出现错误时无效,“ UIImage不符合协议LogicValue”
什么是正确的Swift代码?
如果self.image是可选的,则此代码有效。没有其他理由,因为self.image不能为零。
以下代码是完全有效的:
var image : UIImage?
self.scrollView.contentSize = image ? image!.size : CGSizeZero
注意:您必须使用“!” 以“解包”可选变量,image
以便您可以访问其size
。这是安全的,因为您只是事先测试了它不是零。
如果image是一个隐式展开的可选内容,这也将起作用:
var image : UIImage!
self.scrollView.contentSize = image ? image.size : CGSizeZero
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句