如何检查是否ImageView的不为零的迅速?(How to check if imageView

2019-10-20 19:41发布

我有一个致命错误,而在展开迅速的可选值。

我有一个轮廓视图控制器与背景图像和化身图像女巫是相同的。

当用户还没有一个图像集,我已经得到了这个致命的错误,而不是我想一个“默认图像形状”的补充。

我怎么能检查,如果图像是不是零?

这是我的代码:

 var currentUser = PFUser.currentUser()

    let User = currentUser as PFUser
    let  userImage:PFFile = User["profileImage"] as PFFile {

 userImage.getDataInBackgroundWithBlock{(imageData:NSData!, error:NSError!)-> Void in

        if !(error != nil) {

            var image:UIImage! = UIImage(data: imageData)

            if image != 0 {
                self.backgroundImageUser.image = image
                self.avatarUserView.image = image
            }
            else if image == 0 {
                self.backgroundImageUser.image = UIImage(named: "Shape")
                self.avatarUserView.image = UIImage(named: "Shape")
            }
            }}}

Answer 1:

尝试这个:

userImage.getDataInBackgroundWithBlock{(imageData:NSData?, error:NSError?)-> Void in

    if let image = UIImage(data: imageData) {

        self.backgroundImageUser.image = image
        self.avatarUserView.image = image
    }
    else {
        self.backgroundImageUser.image = UIImage(named: "Shape")
        self.avatarUserView.image = UIImage(named: "Shape")
    }
}


Answer 2:

为了得到这个工作,你必须了解可选链接。 作为苹果的文档说:

可选的链接是用于查询和可选目前可能是零调用属性,方法和标过程。 如果可选包含一个值,属性,方法,或下标调用成功; 如果可选的是零,属性,方法,或下标呼叫返回nil。 多重查询可以链接在一起,整个链条无法正常如果链中的任何环节是零。

所以,如果你想要一个对象来获取零值,你必须将其声明为可选。 要声明的可选您必须放置一个问号后的值的对象。 在你的榜样它看起来就像这样:

 var image:UIImage? ;
 image = UIImage(data: imageData) ;

并宣称这UIImage的作为可选,它将被零初始化。



Answer 3:

let image : UIImage? = img

   if image != nil{

   }else{

   }


Answer 4:

事实上,问题是向上,因为你可以在后期编辑看到,我有一个在userImage声明不是可选的。

所以,现在一切都很好地工作:

var currentUser = PFUser.currentUser()

    let User = currentUser as PFUser
    if let  userImage:PFFile = User["profileImage"] as? PFFile {

    userImage.getDataInBackgroundWithBlock{(imageData:NSData!, error:NSError!)-> Void in

        if !(error != nil) {

            var image :UIImage! = UIImage(data: imageData)

                self.backgroundImageUser.image = image
                self.avatarUserView.image = image

        }

        }}

     else {
        self.backgroundImageUser.image = UIImage(named: "Shape")
        self.avatarUserView.image = UIImage(named: "Shape")

    }


文章来源: How to check if imageView is not nil in swift?