4

我今天将 Xcode 更新到 10.2,但出现以下错误:

方法不能标记为@objc,因为参数2的类型不能在Objective-C中表示

函数类型不能在 Objective-C 中表示,除非它们的参数和返回可以是我不明白为什么

在 10.1 中完全没问题。这是我多年来一直使用的示例,没有任何问题。我怎样才能使这个代码编译没有错误?

@objc public func myFunction(inputString: String, handler:@escaping ((success: Bool, outPut: NSArray)) -> Void) {
    // do stuff
}
4

1 回答 1

2

删除短语outPut:。它总是非法的;Swift 5 终于收紧了。

所以:

@objc public func myFunction(inputString: String, handler:@escaping (NSArray) -> Void) {
于 2019-03-27T02:40:07.207 回答