Question

Je développe un lecteur e-book et je l'avais rencontré la question suivante. J'utilise une méthode IBAction pour poster un NSNotification qui à leur tour invoque une méthode d'action une fois un bouton est sur écoute. Il fonctionne tout à fait bien pour la première fois ... La méthode IBAction doit être appelé evry fois que je tape sur l'button.After complétant cette action, je dois aller à ma page d'accueil, puis revenir et cliquez à nouveau sur le bouton. C'est là que je suis face à ce problème. La méthode est appelée se plus d'une fois de la deuxième fois et le nombre ne garde que de plus en plus .. S'il vous plaît me aider ....

//IBAction Method
if (sender.tag == PenToolAction) {

    GLogInfo(@"Pen tool tapped");
    [self hideSelf];
    [[NSNotificationCenter defaultCenter] postNotificationName:PenToolActionInitialized object:nil];
}
Était-ce utile?

La solution

Si vous ajoutez l'observateur de notification dans une méthode appelée plusieurs fois, vous recevrez les plusieurs fois de notification trop.

Essayez de mettre l'une ou l'autre [[NSNotificationCenter defaultCenter] addObserver:...] dans la méthode init à la place ou [[NSNotificationCenter defaultCenter] removeObserver:self] d'appel juste avant.

Autres conseils

Thanku beaucoup pour ur soutien .. J'ai trouvé la solution pour ma question ... Le principal coupable ici dans mon code est la question de la gestion de la mémoire ... I'v utilisé analyseur x-code pour vérifier les fuites et a constaté que j'ai oublié de libérer une variable principale ..... I'v a publié la variable et maintenant mon code fonctionne bien ....

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top