IOS: IBAction con due azioni
Domanda
Nella mia app ho un IBAction e al suo interno ho 2 istruzioni diverso con un "se"
if (i == 0) //do instruction set 1
if (i == 1) //do instruction set 2
// and everytime I push button i change from 0 to 1 or from 1 to 0
il problema è che se io premere ripetutamente il pulsante di questa IBAction che non funzionano bene perché l'IBAction precedente non ha terminato la sua istruzione set1
= esempio premere il pulsante, si esegue set di istruzioni 1, se spingo un'altra volta il pulsante che non dovrebbe lavoro perché esso non ha terminato il suo lavoro e voglio aspettare la fine del set di istruzioni da 1 a ripetere la spinta di pulsante.
Hai capito?
Soluzione
Supponendo di avere variabili BOOL workInProgress
nella classe:
- (IBAction)action {
if (!workInProgress) {
workInProgress = YES;
if (i == 0) {
// do something that in the end sets workInProgress to NO
} else if (i == 1) {
// do something else that in the end sets workInProgress to NO
}
}
}
Altri suggerimenti
utilizzare un valore booleano, impostarlo su NO, all'inizio del set di istruzioni, e di nuovo al SI after.if il valore è NO, non fare nulla