objective-c - 在 Objective C 类文件中调用 swift 完成 block 。错误: parameter name omitted

标签 objective-c swift swift3 objective-c-blocks

我正在尝试从 Objective C 类调用以下 Swift 函数。

Swift 类函数

@objc public func loaddevice(completionswift:@escaping (String) -> Void){
      appSyncClient?.fetch(query: GetDevicesQuery(), cachePolicy: .returnCacheDataAndFetch)  { (result, error) in
          if error != nil {
              print(error?.localizedDescription ?? "")
              return
          } else if let str = result?.data?.devices?.deviceId {
              completionswift(str)
          }
      }
}

我从 Objective C 类中调用它,如下所示:

[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull) {

}];

它给我错误:省略参数名称

谢谢

最佳答案

似乎您忘记命名参数。

[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull str) {

}];

关于objective-c - 在 Objective C 类文件中调用 swift 完成 block 。错误: parameter name omitted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51612225/

相关文章:

ios - 如何将数据传递给从 UIStoryboard 实例化的 View Controller ?

macos - 从 appdata 中的菜单项加载 Storyboard

iOS AdMob 奖励视频

ios - 为什么 URLSession 在 iOS 10 上没有恢复?

ios - 没有 * 候选人产生预期的结果类型 FloatingPointRoundingRule

Swift 3 和 EKEventStoreRequestAccessCompletionHandler 抛出异常

ios - OneSignal iOS 问题 "No Push Token"与 SDK 2.0.7

objective-c - UISlider 减少 UIImage 的 alpha

objective-c - 子类化您自己的类之一还是使用相同的父类?

ios - 如何在显示之前获取 TableView subview 的位置?