我有一个 LocationManager 类,它执行各种任务并使用尾随闭包。 这是一个方法签名:
func getAdresseForLocation(location: CLLocationCoordinate2D, addressType: LocationManagerAddressType, completion: (Address?) -> Void)
出于各种原因,我决定将一些文件移动到框架中,但我将我的类和方法声明为公共(public),如下所示:
public func getAdresseForLocation(location: CLLocationCoordinate2D, addressType: LocationManagerAddressType, completion: (Address?) -> Void)
但现在我从尾随闭包中收到编译错误:
Cannot convert value of type '(Address?) -> ()' to expected argument type '(Address?) -> (Void)'
我尝试将返回类型更改为 ()、(Void)、从闭包返回 Void 或 (Void),但没有任何效果。 你知道发生了什么事吗?
塔克恩斯。
最佳答案
尝试:
completion: ((Address)? -> Void))
关于当我将类移动到框架中时,Swift 尾随闭包停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37860179/