【问题标题】:Objective-C to Swift 3 Method Name Change Issue [duplicate]Objective-C 到 Swift 3 方法名称更改问题 [重复]
【发布时间】:2017-04-17 14:46:35
【问题描述】:

我正在尝试在 Swift 3 中使用来自 Objective-C 的方法,但 Swift 3 正在将签名转换为对编译器无效的东西。

- (void)doWhenReady:(void(^)(void))block onDone:(ErrorCallback)callback;

翻译成

do(whenReady: ()->(), onDone: ErrorCallback)

其中do 成为关键字do 并且该方法的语法无效。在不重构 Objective-C 代码的情况下,我有什么解决方案来解决这个问题?

【问题讨论】:

  • 你可以在你的项目中添加一个objective-c类来包装方法调用,并给包装方法一个兼容的名称。

标签: objective-c swift xcode swift3


【解决方案1】:

在 Swift 表达式 do(whenReady... 中,写成 do,并在其周围加上反引号。

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2018-02-06
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    相关资源
    最近更新 更多