Calling swift completion block in Objective C class file. Error: parameter name omitted
Calling swift completion block in Objective C class file. Error: parameter name omitted
我正在尝试从 Objective C class.
调用以下 Swift 函数
swift class 函数
@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 class 中这样调用它:
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull) {
}];
它给我错误:省略了参数名称。
谢谢
尝试做:
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull deviceID) {
}];
其中 deviceID
将是完成块中传递的 NSString
你好像忘记给参数命名了。
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull str) {
}];
我正在尝试从 Objective C class.
调用以下 Swift 函数swift class 函数
@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 class 中这样调用它:
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull) {
}];
它给我错误:省略了参数名称。
谢谢
尝试做:
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull deviceID) {
}];
其中 deviceID
将是完成块中传递的 NSString
你好像忘记给参数命名了。
[self.appClient loaddeviceWithCompletionswift:^(NSString * _Nonnull str) {
}];