のオプションパラメータとしてクロージャを渡し、最後のパラメータは、コールバッククロージャである:私は2つのパラメータを取る関数を持っている機能
func myAsycTask(name: String, callback: @escaping()->Void) {
myQueue.async{
self.doTask(name)
callback()
}
}
func doTask(name: String) {...}
私は、オプションの第二のコールバッククロージャパラメータを作成したいと思います。
Nil default argument value of cannot be converted to type '
() ->
'
どのように私はその後、必要なものを達成することができます:
func myAsycTask(name: String, callback: @escaping()->Void? = nil) {
myQueue.async{
self.doTask(name)
callback()
}
}
は、私は、コンパイラのエラーを取得する:私はするために、上記の関数を再定義しようとしましたか?
まあhttps://stackoverflow.com/questions/39618803/swift-3-optional([答え] -escaping-closure-parameter) – Jack