IOS: Ibaktion mit zwei Aktionen
Frage
In meiner App habe ich eine Ibaktion und darin habe ich 2 verschiedene Anweisungen mit einem "if"
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
Das Problem ist, dass wenn ich wiederholt die Taste dieser Ibaktion drücke
Beispiel = Drücken Sie die Taste, es wird Anweisungssatz 1 ausgeführt. Wenn ich ein anderes Mal die Taste drücke, sollte sie nicht funktionieren, da es seine Arbeit nicht beendet hat und ich das Ende des Anweisungssatzes 1 warten möchte, um die Taste der Taste zu wiederholen.
Verstehst du?
Lösung
Angenommen, Sie haben BOOL workInProgress
Variable in Ihrer Klasse:
- (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
}
}
}
Andere Tipps
Verwenden Sie einen BOOL -Wert, setzen Sie ihn zu Beginn Ihres Anweisungssatzes auf Nein und kehren Sie zu Ja nach. Wenn der Wert nein ist, dann tun Sie irgendetwas, was nicht tun
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow