-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