Betrachten Sie den folgenden Code ein:Wie kann ich Code nach der return-Anweisung in einer Funktion in Swift ausführen?
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let validator:NSPredicate = NSPredicate(format:"SELF MATCHES %@","[A-Za-z0-9- ]+")
if(validator.evaluateWithObject(string) || string == "" /* i.e. backspace */) {
self.process(textField)
return true
}
else {
return false
}
}
Ich mag eigentlich self.process (Textfield) nach der Rückkehr Anweisung ausgeführt ist, weil vor, der Text in dem Textfeld nicht tatsächlich noch geändert. Dies führte mich zu der Frage, warum kann ich nicht einfach Code nach die Rückkehr Anweisung ausführen? Warum stoppen Funktionen immer, wenn die return-Anweisung passiert?
Ich realisiere das ist traditionell, was Rückkehr bedeutet, aber gibt es eine Alternative? Wie, gibt es eine Möglichkeit, einen Wert von einer Funktion zurückzugeben und dann weiter zu machen?
Auf der einen Seite scheint das eine dumme Frage zu sein, auf der anderen Seite fühle ich mich, als ob ich nicht der erste Mensch sein könnte, der das jemals tun möchte. Es wäre gut genug, wenn ich etwas abfeuern könnte, um im nächsten Zyklus der Laufschleife zu laufen, also vielleicht gibt es etwas in GCD, das mir helfen würde.
Google für Grand Central Dispatch – gnasher729