Objective-C到Swift 3方法名称更改问题
问题描述:
我想在Swift 3中使用Objective-C中的方法,但Swift 3正在将签名转换为编译器无效的东西。Objective-C到Swift 3方法名称更改问题
- (void)doWhenReady:(void(^)(void))block onDone:(ErrorCallback)callback;
被转换到
do(whenReady:()->(), onDone: ErrorCallback)
凡do
成为该方法的关键词do
和无效的语法。我必须解决这个问题而不重构Objective-C代码?
答
在Swift表达式do(whenReady...
中,写上带有反引号字符的do
。
您可以将一个objective-c类添加到包装方法调用的项目中,并为包装方法提供一个快速兼容的名称。 – vikingosegundo