-1
我有一個可選的封閉爭論這樣的方法:與布爾返回類型可選封
func when(_ name:String, state:State = .normal, closure:(() -> Bool)? = nil)
{
...
}
我打電話給他們這樣的:
when("I do something")
{
if !self.doSomething() { return false }
if !self.doSomethingElse() { return false }
return true
}
這給了我一個編譯時錯誤:
Error: cannot convert value of type '()' to expected argument type 'Bool'
這是怎麼回事?爲什麼Swift會看到一個類型(),其中Bool是預期的?
@dhi n的答案畢竟是正確的!我有一些方法錯過了' - > Bool'返回類型。 – BadmintonCat
試試這個cz你的閉包返回bool但不是你的函數 – Ishika
@Ishika但是我的'when'方法本身不應該返回任何東西,只有閉包。 – BadmintonCat