Ich versuche, die App zu einem anderen View-Controller zu gehen, nachdem der Benutzer ein Foto aus der Auswahl ausgewählt hat.Absturz beim Drücken auf einen anderen Controller nach `didFinishPickingMediaWithInfo`
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerEditedImage] as? UIImage {
let previewController = self.storyboard?.instantiateViewController(withIdentifier: "previewVC") as! PreviewViewController
previewController.previewImage.image = image
previewController.navigationItem.setHidesBackButton(true, animated: false)
self.navigationController?.pushViewController(previewController, animated: true)
}
}
previewController
einfach eine Bildansicht (@IBOutlet weak var previewImage: UIImageView!
) und eine Taste, um das Foto zu veröffentlichen, so dass ich versuche, dieses Bild Ansicht setzen das aufgenommene Bild anzuzeigen.
Allerdings bekomme ich einen Absturz "unerwartet gefunden Null beim Auspacken eines optionalen Wertes" auf der previewController.previewImage.image = image
Linie. previewImage
in der previewController ist Null im Debugger, aber ich bin mir nicht sicher, warum - ist das nicht festgelegt, sobald der Benutzer auf "Wählen" in der Auswahl trifft?
Gibt es hier einen weiteren Schritt?
Ich habe 'var img: UIImage?' Hinzugefügt, um eine Vorschau des Controllers anzuzeigen und 'previewController.img = image' in' didFinishPickingMediaWithInfo' zu setzen. Dann im ViewDidLoad des Preview Controllers setze ich 'self.previewImage.image = img'. Und wenn es jetzt keinen Absturz gibt, passiert nichts, wenn ich im Picker auf Choose tippe. – KingTim
Definieren Sie "nichts passiert". Wird der Vorschau-Controller gedrückt? Ist der aktuelle View-Controller in einem Navigationscontroller? – rmaddy
Nein, buchstäblich passiert nichts - es gibt keinen Absturz, aber weder "wählen" noch "abbrechen" auf dem Picker sind tappable. – KingTim