在Xcode 6.1中。 '的UIImage&#39?;没有名为' size'的成员错误

时间:2014-10-27 06:13:18

标签: swift uiimage xcode6

我正在获取图片Size并使用以下代码。它与Xcode 6.0.1完美配合。更新为Xcode 6.1后,我收到错误消息:

'UIImage?' does not have a member named 'size'

var image = UIImage(named: imageName)
let sizeOfImage = image.size

我的代码或Apple有错误吗?请帮帮我。 TIA。

4 个答案:

答案 0 :(得分:6)

该初始化程序现在是一个可用的初始化程序,因此它返回一个可选的UIImage

要快速修复您的错误,只需解开图片:

let sizeOfImage = image?.size

但我认为你会在代码中引用image变量不止一次,在这种情况下我建议使用可选绑定:

if let image = image {
    let sizeOfImage = image.size
    /// ...
    /// Use the image
}

答案 1 :(得分:1)

除了@Antonio的答案,您还可以使用nil合并运算符(??)来获取默认大小,以防图像初始化程序失败。方法如下:

let size = image?.size ?? CGSizeZero

答案 2 :(得分:0)

一旦确定可选项确实包含值,就可以通过在可选项名称的末尾添加感叹号(!)来访问其基础值。在你的情况下:image.size!

答案 3 :(得分:0)

你可以像这样使用:

    let image = UIImage(named: "photo1.png")
    let sizeOfImage = image?.size

    imageView.image = image
    imageView.frame = CGRect(origin: CGPoint(x: 0, y: 0), size: sizeOfImage!)