クロージャが関数f1
(クロージャが渡される)の内部で呼び出されるか、または別の関数に渡される可能性がある状況が発生しましたf2
。Swift-3:エスケープ動作と非エスケープ動作を併用したクロージャ
ここで、このクロージャのエスケープ動作をどのように定義すればよいのでしょうか。私は@escaping
を入れなければならないのですか?
サンプル機能:いくつかの構文エラー、(ここでメソッドを入力)がある場合
func f1(_ completionHandler:()->()){
if someFlag == true{
completionHandler()
return
}
f2(completionHandler)
}
func f2(_ completionHandler:()->()){
// some other magic
}
申し訳ありませんが、私の質問は、機能f1
ためcompletionHandlerのtype属性がどうあるべきか、ですか?
Okey..now私はそれを持っています。ありがとう。その混乱は、「できます」という言葉にありました。 –
問題はありません、私は答えに私のコメントを移動するかもしれないと思った:) – Hamish