Poste de NSNotificationCenter provoquant des “EXC_BAD_ACCESS” exception
Un UIViewController
ajoute à la valeur par défaut du centre:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(editFood)
name:@"editFood"
object:nil];
Puis un UITableView
délégué NSObject postes un NSNotification
:
[[NSNotificationCenter defaultCenter]
postNotificationName:@"editFood"
object:self];
Lors de l'exécution obtenir un EXC_BAD_ACCESS exception.
Est le defaultCenter
sort quelque part? Le même principe fonctionne quand je poste un avis à un UIViewController à partir d'un UIViewController, mais qui ne devrait pas d'importance, non?
- Où, exactement, est-il s'écraser?
- l'ajout de
[[NSNotificationCenter defaultCenter] removeObserver:self]
à-(void)dealloc{}
méthode dans votre Scène sera probablement résoudre ce problème pour vous. Il a travaillé pour moi; j'ai eu le même problème que vous. Bonne chance!
Vous devez vous connecter pour publier un commentaire.
L'un de vos abonnés a été libéré. Assurez-vous d'appeler
[[NSNotificationCenter defaultCenter] removeObserver:self]
dans votre dealloc (si pas plus tôt).EXC_BAD_ACCESS
peut se produire même après vérification de dealloc existe comme suit:Ci-dessus permettra de résoudre le problème la plupart du temps, mais apparemment, ma cause est que j'ai été indirectement l'ajout de l'observateur avec un
selector:
ensemble denil
comme suit:...donc quand j'ai posté quelque chose avec ce que
notificationName
,EXC_BAD_ACCESS
s'est produite.La solution a été d'envoyer un sélecteur qui souligne en fait à quelque chose.
NULL
que le sélecteur de le vouloir pour être temporaire, comme oh laissez moi aller créer cette méthode, puis j'ai oublié d'aller mettre à jour le sélecteur de param plus tard (DOH) et oui, EXC_BAD_ACCESS résultat.