当我将类移动到框架中时,Swift 尾随闭包停止工作

标签 swift closures

我有一个 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/

相关文章:

swift - 如何在swift中实现无限滚动背景

c - Lua 在 C 中共享 upvalue 示例

Javascript函数问题

带闭包的 PHPUnit 测试

ios - 将 EnvironmentObject 传递给 ObservableObject 类

swift - Swift 中的 MacOS 菜单

javascript - JavaScript 闭包如何在底层工作?

javascript - 从 JS 闭包 : should i use the "new" keyword? 创建对象

ios - 如果已设置 UIImageView 图像,有一种方法可以快速通知吗?

arrays - Swift 中的阿拉伯语文本