从 Cordova iOS 中的委托返回数据

Posted

技术标签:

【中文标题】从 Cordova iOS 中的委托返回数据【英文标题】:Return data from a delegate in Cordova iOS 【发布时间】:2015-07-17 17:19:17 【问题描述】:

我对 ios 和 Cordova 非常陌生。我正在开发一个从蓝牙设备读取数据并使用供应商 SDK 的应用程序。我正在将一个函数从 js 调用到 iOS 中,该函数会自动调用一个委托。代表基本上会读取我正在使用手持设备读取的标签。现在,当我继续使用手持设备读取标签时,我需要不断地将读取的标签发送回客户端。代表的签名如下所示:

-(void)transponderReceived:(NSString *)epc crc:(NSNumber *)crc pc:(NSNumber *)pc rssi:(NSNumber *)rssi fastId:(NSData *)fastId moreAvailable:(BOOL)moreAvailable

有没有办法让我通过自动调用的委托将这些数据返回给客户端?

【问题讨论】:

【参考方案1】:

当你从 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

所以你可以继续从代理发送插件结果

【讨论】:

以上是关于从 Cordova iOS 中的委托返回数据的主要内容,如果未能解决你的问题,请参考以下文章

iOS:通过委托方法从推送的 ViewController 返回?

IOS/android + phonegap/cordova框架中的返回键

Cordova iOS 应用程序,从后台模式返回后的页面性能问题

iOS 8:从 NSFetchedResultsController 的委托中捕获异常,无效更新:第 0 节中的行数无效

:IOS Table表视图委托协议和数据协议

向 Cordova AppDelegate iOS 添加额外的委托