Domanda

Sto sviluppando un lettore di e-book e avevo riscontrato il seguente numero. Sto usando un metodo IBAction per pubblicare una nsnotificazione che Intern invoca un metodo di azione una volta sfruttato un pulsante. Funziona perfettamente per la prima volta ... il metodo di iBaction deve essere chiamato Evry Time, tocca il pulsante. Dopo aver completato questa azione, devo andare alla mia home page e poi tornare indietro e fare clic su di nuovo il pulsante. Qui è dove sto affrontando il problema. Il metodo viene chiamato più di una volta dalla seconda volta e il numero continua ad aumentare .. per favore aiutami con questo ...

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

    GLogInfo(@"Pen tool tapped");
    [self hideSelf];
    [[NSNotificationCenter defaultCenter] postNotificationName:PenToolActionInitialized object:nil];
}
È stato utile?

Soluzione

Se aggiungi l'osservatore di notifica in un metodo chiamato più volte, riceverai anche la notifica più volte.

Prova a mettere il file [[NSNotificationCenter defaultCenter] addObserver:...] nel init metodo invece o chiama [[NSNotificationCenter defaultCenter] removeObserver:self] Appena prima.

Altri suggerimenti

Grazie mille per il tuo supporto .. Ho trovato la soluzione per la mia domanda ... Il principale colpevole qui nel mio codice è il problema della gestione della memoria ... Io ha usato l'analizzatore X per controllare le perdite e l'ho trovato Ho dimenticato di rilasciare una variabile principale .....v ho rilasciato la variabile e ora il mio codice funziona bene ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top