首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何判断UIImage是否为空?

如何判断UIImage是否为空?
EN

Stack Overflow用户
提问于 2015-01-19 04:20:43
回答 1查看 11.7K关注 0票数 8

如何检查UIImage是否为空?

代码语言:javascript
运行
复制
class UserData {
    ...
    var photo: UIImage = UIImage()
}

我的ViewController代码如下所示:

代码语言:javascript
运行
复制
var userData = UserData()
    ...

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

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

Xcode说:UIImage is not convertible to MirrorDisposition

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-19 04:22:43

self.userData.photo永远不会为零,所以这个问题是没有意义的。

原因是您已经将photo声明为UIImage。这与UIImage?不同--可选地包装UIImage。在Swift中,只有Optional可以为nil。但是,正如我刚才所说的,photo不是可选的。因此,没有什么需要检查的。这就是为什么当您尝试执行此类检查时,Swift会阻止您。

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

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

但请记住,当您想要使用photo做任何事情时,您必须记住对它进行解包!(您可以将photo作为隐式展开的可选参数UIImage!输入,以避免这种常量展开,但我对此不感兴趣。)

  • 另一种可能是检查图像的大小。如果它的大小为零,则很可能是原始意义上的空图像!
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28014415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档