web-dev-qa-db-fra.com

Afficher ViewController dans Swift

Je dois extraire un UIViewController du contrôleur de navigation.

Je viens d'écrire cette ligne de code mais en prenant une exception;

trouvé de manière inattendue à zéro lors du déroulement d'une valeur facultative

self.navigationController.popViewControllerAnimated(true)

Si je mets le contrôleur de navigation en option, cette ligne ne fait aucun effet, aucun popping

self.navigationController?.popViewControllerAnimated(true)

Comment le résoudre?

35
erdemgc

Vous devez déballer votre navigationController correctement

if let navController = self.navigationController {
    navController.popViewController(animated: true)
}
82
karlofk

Swift 3.0 Cela fonctionne pour moi

_ = self.navigationController? .popViewController (animé: vrai)

enter image description here

17
Anit Kumar

Dans mon cas, j'utilise une vue Master Details (Split View Controller). Mon contrôleur de vue de détails est intégré à un contrôleur de navigation. Alors, quand je voulais écarter mon contrôleur de vue Details. Je devais le sortir du contrôleur de navigation du parent (contrôleur de vue Split) Comme ça.

_ = self.navigationController?.navigationController?.popViewController(animated: true)

espérons que cela aide quelqu'un.

7
spaceMonkey

Il semble que le contrôleur de vue sur lequel vous travaillez ne soit pas intégré au contrôleur de navigation. S'il y avait un contrôleur de navigation, c'est-à-dire que self.navigationController N'est pas nul, les deux lignes devraient fonctionner aussi bien même si cette dernière est préférable car elle utilise un chaînage optionnel.

Assurez-vous d’avoir intégré votre View Controller dans un contrôleur de navigation. Vous pouvez le faire en sélectionnant le contrôleur de vue dans l’éditeur de storyboard et en cliquant sur éditeur -> incorporer dans -> contrôleur de navigation. Assurez-vous également que votre point d’entrée du storyboard (la flèche qui indique quel contrôleur de vue est présenté en premier) soit en direction du contrôleur de navigation ou devant celui-ci.

5
Aleksi Sjöberg