我今天将Xcode更新到10.2,并遇到以下错误:
方法不能标记为@objc,因为参数2的类型 无法在Objective-C中表示
除非在函数类型中的参数和返回值可以是 我不明白为什么
10.1完全正常。 这是我多年来一直没有遇到任何问题的示例。 如何使该代码正确编译?
@objc public func myFunction(inputString: String, handler:@escaping ((success: Bool, outPut: NSArray)) -> Void) {
// do stuff
}
答案 0 :(得分:2)
删除短语outPut:
。它始终是非法的; Swift 5终于收紧了。
所以:
@objc public func myFunction(inputString: String, handler:@escaping (NSArray) -> Void) {