scénario Hypothétique:Ajout observateur à NSNotificationCenter deuxième fois provoque EXC_BAD_ACCESS
Dans ma méthode viewDidLoad
J'ajoute contrôleur de vue comme un observateur de notification personnalisé (par exemple, la notification MyFooNotification
). Plus tard dans le processus lorsque la vue est chargée, la notification est enregistrée et le contrôleur la traite. Lorsque je laisse le contrôleur avec sa vue, je ne retire pas l'observateur (intentionnellement) au viewDidUnload
. La prochaine fois que vous ouvrez la vue, l'observateur est ajouté à nouveau, mais maintenant, lorsque la notification observée est affichée, j'obtiens EXC_BAD_ACCESS
.
Quelqu'un peut-il expliquer pourquoi cela se produit.
P.S. Je sais que je devrais l'enlever dans viewDidUnload
Je suis juste curieux au sujet des détails inférieurs.
On dirait que quelque chose se libère qui ne devrait pas l'être. –