Swift2 recupera le immagini da Firebase

Sto cercando di leggere / visualizzare un’immagine da Firebase. Sto prima codificando l’immagine e poi postando questa stringa codificata a Firebase. Funziona bene Quando provo a decodificare la stringa codificata da Firebase e la converto in un’immagine, ottengo un’eccezione di valore nullo.

Ecco come sto salvando l’immagine su Firebase

var base64String: NSString! func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { self.dismissViewControllerAnimated(true, completion: nil) imageToPost.image = image var uploadImage = image as! UIImage var imageData = UIImagePNGRepresentation(uploadImage)! self.base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) let ref = Firebase(url: "https://XXX.firebaseio.com") var quoteString = ["string": self.base64String] var usersRef = ref.childByAppendingPath("goalImages") var users = ["image": quoteString] usersRef.setValue(users) displayAlert("Image Posted", message: "Your image has been successfully posted!") } 

Ecco come sto cercando di leggere l’immagine da Firebase

 // ViewController.swift import UIKit import Firebase class ViewController: UIViewController { @IBOutlet weak var image: UIImageView! var base64String: NSString! @IBAction func buttonClicked(sender: AnyObject) { sender.setTitle("\(sender.tag)", forState: UIControlState.Normal) } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let ref = Firebase(url: "https://XXX.firebaseio.com/goalImages/image/string") ref.observeEventType(.Value, withBlock: { snapshot in self.base64String = snapshot.value as! NSString let decodedData = NSData(base64EncodedString: self.base64String as String, options: NSDataBase64DecodingOptions()) //Next line is giving the error var decodedImage = UIImage(data: decodedData!) self.image.image = decodedImage }, withCancelBlock: { error in print(error.description) }) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } 

L’errore dice: “errore fatale: inaspettatamente trovato nil mentre scartando un valore Opzionale”; decodedData è nullo. Qualcuno potrebbe spiegare cosa sta andando storto.