は、次のコードを考えてみましょう:Swiftの関数でreturnステートメントの後にコードを実行するにはどうすればよいですか?
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
}
}
その前に、テキストフィールド内のテキストは、実際にはまだ変更されていないので、私は、実際にリターン文の後self.process(TextFieldを)実行したいです。これは私に不思議に思った、なぜ return文の後にいくつかのコードを実行できないのですか? return文が起きたときに関数が常に停止するのはなぜですか?
伝えられるところによると、はを意味しますが、代替手段がありますか?同様に、関数から値を返す方法はありますか?
一方、これは愚かな質問のように思えますが、一方で、私はこれをやりたい最初の人にはなり得ないような気がします。実行ループの次のサイクルで何かを実行するために何かを消すことができれば十分ですが、GCDに役立つものがあるかもしれません。
Google for Grand Central Dispatch – gnasher729