2017-06-24 4 views
0

私はクロージャを持つ関数を作成しようとしています。関数に何も渡されず、別の関数が終了した直後に呼び出されます。クロージャを関数に追加する構文はありますか?

func addGradient(closure: syntax) { 
(closure: _ in ("function call here") )} 

ので、それは

addGradient(closure: "function to be called"この

に似呼び出すことができます)

答えて

2

ただ、関数のシグネチャを使用し、マイナスの名前のいずれか:

func doIt(one: Int, two: String) -> [String] { 
    … 
} 

でしょう。このような何か閉鎖署名は次のとおりです。

(Int, String) -> [String] 

だから、あなたは次のようになります。

func addGradient(closure: (Int, String) -> [String]) { 
    … 
} 

そして、あなたはこのようにそれを呼び出すことができます。

addGradient(closure: doIt) 

つ以上のノート、このような関数:

func doAgain() { 
    … 
} 

が閉鎖署名を持っていますこのうち:

() ->() 
関連する問題