繁体   English   中英

如何确定UIImage是否为空?

[英]How do I determine whether a UIImage is empty?

如何检查UIImage是否为空?

class UserData {
    ...
    var photo: UIImage = UIImage()
}

我的ViewController代码如下所示:

var userData = UserData()
    ...

func preparePhoto(){
        if (self.userData.photo == nil) {
            ...
        }else{
            ...
        }
    }

self.userData.photo == nil在Swift中不起作用。

Xcode说: UIImage is not convertible to MirrorDisposition

self.userData.photo 永远不会是零,所以这个问题毫无意义。

原因是您已将photo声明为UIImage。 那和UIImage?不一样UIImage? - 包装UIImage的可选项。 在Swift中只有一个可选的nil。 但是,正如我刚才所说, photo 不是可选的。 因此无需检查。 这就是为什么当你试图执行这样的检查时Swift会阻止你。

那么该怎么办? 我有两个可能的建议:

  • 我对解决这个实际的建议是, 键入photo作为UIImage? 并将其初始设置为nil(实际上,它从一开始就隐含为nil)。 现在您可以检查nil以查看是否已为其分配实际图像。

    但请记住,当您想要将photo用于任何事情时,您必须记得打开photo (你可以改为将photo键入一个隐式解开的可选UIImage!以避免不断展开,但我不是那么热衷于这个想法。)

  • 另一种可能性是检查图像的大小 如果它是零大小,它可能是你问题的原始意义上的空图像!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM