Z S*_*Z S 11 objective-c swift swift5
我正在使用新的 Swift 5.5 功能来创建异步函数:
@MainActor
@objc func updateStatus() async {
/// do async stuff...
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试从 Objective-C 代码调用此方法时,它不会显示在自动完成中,并且如果我尝试构建它,则会出现构建错误:
if (@available(iOS 15.0, *)) {
CJSubscriptionStatusCheck *backgroundStatusCheck = [[CJSubscriptionStatusCheck alloc] init];
[backgroundStatusCheck updateStatus]; // No visible @interface for 'CJStatusCheck' declares the selector 'updateStatus'
}
Run Code Online (Sandbox Code Playgroud)
我的其他 swift 代码在 Objective-C 上运行良好,因此设置很好,但我不确定“异步”代码如何与 Objective-C 一起使用(如果有的话)。我无法通过我的研究找到这个问题的答案。
谢谢。
Sul*_*han 17
根据SE-0297 与 Objective-C 方法的并发互操作性, async自动获取添加的completionHandler参数。
updateStatusCompletionHandler:因此方法名称应该与Objective-C 中的类似。
| 归档时间: |
|
| 查看次数: |
5017 次 |
| 最近记录: |