[英]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.