-1
我正在使用Xcode 9 beta 5將我的項目遷移到swift 3.0 - 4.0,但得到了以下錯誤消息。 swift 4.0無法將類型'(_) - >()'的值轉換爲期望的參數類型(() - > Void)?
請幫忙解決,如果有人遇到這個問題。
@IBAction func refreshToLoadData() {
if !isDataPulled {
if !DemoModeManager.shared.isReachable {
self.showNetworkErrorWithCallback(screen: "Load Bags Info".localize(), okHandler: { (inner2) in do
{
self.okClick()
}})
} else {
self.getDataForBags()
}
} else {
self.endRefreshing()
self.bagsTableView.reloadData()
}
}
func showNetworkErrorWithCallback(screen: String, okHandler: (() -> Void)?) {
let okAction = AlertAction("OK".localize(), { (okAction) in
okHandler?()
})
showAlert(networkErrorTitle, message: networkErrorMessageFormat, preferredStyle: UIAlertControllerStyle.alert, animated: false, alertCompletion:nil, cancelAction: nil, otherActions: okAction)
}
請將代碼添加爲文字。但據我所知,你的'okHandler'被聲明爲'(() - > Void)?',忽略了Optional,一個不帶參數的閉包類型。你爲什麼在閉包中放置一個參數'(inner2)'? – OOPer