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")
}
}}}
Try this:
In order to get this working, you have to understand Optional Chaining. As the Apple Documentation says:
So if you want an object to get a nil Value, you have to declare it as Optional. To declare the object as Optional You have to place a question mark after the value. In your example it will look just like this:
And by declaring this UIImage as Optional, it will be initialized with nil.
In fact the problem was up, as you can see in the edited post, i had a the userImage declaration not optional.
So now everything work fine with :