我的要求是为 iPad 创建 phonegap 组件。
我正在使用 XCode 4.2 和 Phonegap 1.9.0 SDK。
我有一组需要用于 phonegap 的原生 iOS 类文件。我为 iOS 本机代码创建了插件类。我的代码还包含 javascript 代码。我需要通过 javascript 代码调用 iOS 代码。
我的 iOS 代码包含作为数组的参数。我们可以将数组迭代为 objectAtIndex 1、2 等。如何使用以下参数从编写的插件类调用本机代码
插件代码:
- (void) myMethod:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{
NSString* callbackId = [arguments objectAtIndex:0];
CDVPluginResult* pluginResult = nil;
NSString* javaScript = nil;
@try {
NSString* myarg = [arguments objectAtIndex:1];
if (myarg != nil) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
javaScript = [pluginResult toSuccessCallbackString:callbackId];
}
} @catch (id exception) {
pluginResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_JSON_EXCEPTION messageAsString:[exception reason]];
javaScript = [pluginResult toErrorCallbackString:callbackId];
}
[self writeJavascript:javaScript];
}
本机代码:
-(NSArray*)nativeFunctionDisplay:(NSArray*)args;
我需要在插件类中调用这个本机代码
参数值取自 javascript 函数。在 js 文件中我需要调用插件类并需要传递参数。
Javascript.js:
var arg1;
var arg2;
var arg 3;
PluginClass.callNativeFunction(<How to pass the arguments here>)
我看到了很多样本,但它们被尝试用于获取初始信息,例如成功的警报消息。
你能帮忙吗?