2017-04-04 1 views
0

J'utilise Xcode 8.2.1Swift ne peut pas initialiser UIImageView et provoque une erreur fatale: de façon inattendue nulle

erreur fatale: de façon inattendue nulle en déballant une valeur facultative

Ce code,

class ShowMediaViewController: UIViewController { 
var image: UIImage? 
var titreText: String! 
@IBOutlet var imageView: UIImageView! 
//i tried @IBOutlet weak var imageView: UIImageView! but didn't work 
@IBOutlet weak var titre: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    if image != nil { 

     //crashes here, because imageView is nil 
     imageView.image = image 
    } else { 
     print("image not found") 
    } 

} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 

    // Dispose of any resources that can be recreated. 
} 

}

Le code semble se bloquer sur cette ligne

imageView.image = image 

Je pense est parce que imageView est nul ?, parce que j'ai essayé

print(image) 

et est sorti très bien, puis print(imageView), il provoque une erreur fatale Mais je n'initialisant

@IBOutlet var imageView: UIImageView! 

Peut-être que quelque chose ne va pas avec mon storyboard?

Toute aide serait appréciée

**

UPDATE 1 Connection Inspector

pic 1

pic 2 **

+1

peut vous montrer pic de inspecteur de connexion de cette imageView? – Abhijit

+0

Dans Storyboard, faites un clic droit sur ImageView et vérifiez que 1) la connexion à votre prise est correcte et 2) il n'y a pas d'autre connexion (peut-être encore existant après avoir renommé la prise ou autre). – shallowThought

Répondre

0

J'ai eu le même problème. J'ai essayé les étapes suivantes. alors ça fonctionne.

Essayez ces choses,

  1. Vérifiez la liaison de imageView au storyboard correctement.
  2. Nettoyez et créez le projet.

si fonctionne pas

  1. Fermer et redémarrez XCode
  2. Supprimer imageView de storyboard ajouter à nouveau imageView et lier à nouveau.
0

Il vous manque probablement une connexion entre votre vue et la prise. Vérifiez-les: -

1) en cliquant sur un point à côté de la sortie du code montre une connexion au story-board 2) la fenêtre des sorties pour l'image montre une connexion au code