私はSwiftの補完ハンドラについて学んできましたが、私の質問に対する答えを見つけることができないようです。複数の補完ハンドラがある場合は、専用の場所に置く必要がありますか?例えば、私は、コードを持つことができます。私の機能にcompletionHandlerを入れる場所Swift 3
func example(x:Int, completionHandler: @escaping (_ success: Bool) ->()){
if x > 5 {
completionHandler(true)
}
completionHandler(false)
}
または私はelseステートメント内completionHandler(false)
を囲む必要があります(たとえば、完了ハンドラは、互いに排他的なスポットである必要はありますか。)?もしそうなら、誰かが上記のシナリオがどのように働くかを説明することができますか?私は、関数内のすべてのコードが実行を終了した後に完了ハンドラを「戻り値」として理解する方法です。上記のシナリオには2つの異なる "戻り値"がありますか?
また、2番目のcompletionHandlerとx = 4
が含まれていないとどうなりますか?この関数を呼び出すコードにどのような影響がありますか?
ありがとうございます!あなたが見ることができるようにあなたが最初の引数として6
を渡す場合
以下の結果を見ることができます。 – vacawama
私はそれを試みます。私は、完了ハンドラがFirebaseを使用していることを要求するコードが原因で実行できないことを認識しませんでした。例をダンボールできないのを忘れてしまった... – kbunarjo