How to check if imageView is not nil in swift?

jmcastel picture jmcastel · Aug 27, 2014 · Viewed 18.3k times · Source

I have a fatal error while unwrapping an optional value in swift.

I have a profile ViewController with a background image and an avatar image witch are the same.

When the user has not an image set, i ve got this fatal error, instead i would like to add a "by default image Shape".

How could i check if image isn't nil ?

This is my code :

 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

Mike Pollard picture Mike Pollard · Aug 27, 2014

Try this:

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")
    }
}