Je travaillais depuis longtemps pour trouver le correctif à mon crash. Je ne sais pas si c'est un défaut de conception fondamental de ma part ou quelque chose qui peut être réparé facilement.Rejet d'un contrôleur ViewController Modal vers un contrôleur de navigation Stack incrusté dans un TabBarController provoquant un plantage
Mon application a un contrôleur de navigation intégré dans un TabBarController. Lorsque je présente une vue modale depuis le contrôleur de vue racine du NavigationController, elle est présentée et rejetée sans problème.
Cependant, après avoir navigué en avant dans la pile de navigation depuis le ViewController racine du NavigationController en poussant d'autres Contrôleurs puis en revenant à la ViewController racine, j'essaie à nouveau la présentation modale. Cette fois, ça se présente bien, mais quand je le rejette, mon application se bloque avec une erreur EXC_BAD_ACCESS. Après un débogage, j'ai constaté que lorsque le ViewController modal présenté est fermé, il tente d'accéder à un ViewController dans la navigation Heiarchy qui a déjà été rejeté et donc le plantage. Malgré le fait qu'il a été présenté à partir du Root ViewController de la pile de navigation.
Cela me cause beaucoup de chagrin et je me demande si quelqu'un est tombé sur quelque chose de similaire. Toute aide est la bienvenue. Merci d'avance.
Voici la présentation qui se produit à l'intérieur d'un bloc AlertController:
let createNewMemoAction = UIAlertAction(title: "Create New Memo", style: .Default) { (action: UIAlertAction!) -> Void in
self.performSegueWithIdentifier("Segue To Create New Memo", sender: nil)
}
J'utilise un dérouleur de rejeter le viewController. J'ai essayé de rejeter avec le code suivant avec la même erreur:
@IBAction func cancelButtonPressed(sender: UIBarButtonItem) {
dismissViewControllerAnimated(true, completion: nil)
}
Merci
Veuillez partager le code dans lequel vous présentez et révoquez le contrôleur de vue. –
Je peux voir que le contrôleur de vue de présentation de la vue modale est le contrôleur de tabulation.Je ne suis pas sûr si c'est ce qui cause le problème ou comment le réparer étant donné cela. – alionthego
Juste édité avec présenter et rejeter le code. Présenté depuis le bloc d'une action AlertController. – alionthego