Return 来自 Cordova 委托的数据 iOS
Return data from a delegate in Cordova iOS
我对 iOS 和 Cordova 还很陌生。我正在开发一个从蓝牙设备读取数据并使用供应商 SDK 的应用程序。我正在从 js 调用一个函数到 iOS 中,它会自动调用一个委托。代表基本上阅读我正在使用手持设备阅读的标签。现在,当我继续使用手持设备读取标签时,我需要不断地将读取的标签发送回客户端。代表的签名如下所示:
-(void)transponderReceived:(NSString *)epc crc:(NSNumber *)crc pc:(NSNumber *)pc rssi:(NSNumber *)rssi fastId:(NSData *)fastId moreAvailable:(BOOL)moreAvailable
有没有办法让我return通过自动调用的委托将这些数据读取给客户端?
当您从 javascript 调用函数并创建插件结果时,您必须让它继续创建回调
CDVPluginResult* result = nil;
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:returnInfo];//returnInfo is a NSDictionary with the data to be returned, you can return an NSString or an NSArray instead
[result setKeepCallbackAsBool:YES];
[self.commandDelegate sendPluginResult:result callbackId:callbackId];//You will have to store the callbackId somewhere so you can use it on the deletage, like creating a @property on the .h
因此您可以继续从委托发送插件结果
我对 iOS 和 Cordova 还很陌生。我正在开发一个从蓝牙设备读取数据并使用供应商 SDK 的应用程序。我正在从 js 调用一个函数到 iOS 中,它会自动调用一个委托。代表基本上阅读我正在使用手持设备阅读的标签。现在,当我继续使用手持设备读取标签时,我需要不断地将读取的标签发送回客户端。代表的签名如下所示:
-(void)transponderReceived:(NSString *)epc crc:(NSNumber *)crc pc:(NSNumber *)pc rssi:(NSNumber *)rssi fastId:(NSData *)fastId moreAvailable:(BOOL)moreAvailable
有没有办法让我return通过自动调用的委托将这些数据读取给客户端?
当您从 javascript 调用函数并创建插件结果时,您必须让它继续创建回调
CDVPluginResult* result = nil;
result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:returnInfo];//returnInfo is a NSDictionary with the data to be returned, you can return an NSString or an NSArray instead
[result setKeepCallbackAsBool:YES];
[self.commandDelegate sendPluginResult:result callbackId:callbackId];//You will have to store the callbackId somewhere so you can use it on the deletage, like creating a @property on the .h
因此您可以继续从委托发送插件结果