Xcode 10.2 Swift错误:除非可以使用参数和返回值,否则无法在Objective-C中表示函数类型

时间:2019-03-27 02:38:21

标签: objective-c swift xcode xcode10.2

我今天将Xcode更新到10.2,并遇到以下错误:

  

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

     

除非在函数类型中的参数和返回值可以是   我不明白为什么

10.1完全正常。 这是我多年来一直没有遇到任何问题的示例。 如何使该代码正确编译?

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

1 个答案:

答案 0 :(得分:2)

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

所以:

@objc public func myFunction(inputString: String, handler:@escaping (NSArray) -> Void) {