web-dev-qa-db-ja.com

Swift 4:型 '(_)->()'の値を期待される引数型 '()->()'に変換できない、または引数をとらないcallに渡された引数

XCode 9、ベータ3を使用します。Swift 4。

statsView.createButton("Button name") { [weak self] Void in
   //stuff stuff
   self?.doSomething()
}

このような数百のエラーが表示されますが、どうすれば修正できますか?

エラー:

Cannot convert value of type '(_) -> ()' to expected argument type '() -> ()'

Argument passed to call that takes no arguments
15
Esqarrouth

Swift 4ではもうVoid inを使用しないようです。どのように修正したか:

Voidキーワードを削除します。

statsView.createButton("Button name") { [weak self] in
   //stuff stuff
   self?.doSomething()
}

inまたはコンパイラを使用して文句を言う必要があります

Expected ',' separator

引数がない場合は、Void inを使用しないでください。

statsView.createButton("Button name") { //No "Void in" in here
   print("hi")
}