typealias SwiftAMapCompletion = (CLLocation?,AMapLocationReGeocode?,Error) -> Void
var locationResult : SwiftAMapCompletion?
我想给出一个nil作为Error,但是" Swift Compiler Error"是
表情类型'错误'没有更多的上下文是模棱两可的。(SwiftAMapCompletion不能改变)
locationResult!(location, reGeocode, nil as! Error)
答案 0 :(得分:0)
即使您使用as!
,也不能强迫nil成为错误。
您的选择是:
Error?
,因为这意味着您可以传递nil。例如:
enum MyError: Error {
case ok
}
locationResult!(location, reGeocode, MyError.ok)
在我看来,你的SwiftAMapCompletion
接口没有任何意义,因为通常这样的回调将是“这里是结果,或者这里是错误”所以所有参数都应声明为可选的(带有?
)。如果可以,我会改变这个界面。