Ich schreibe gerade ein Phonegap-Plugin für iOS. Unter Javascript-Datei Ich muss einige Arrays zu meiner Funktion. Allerdings ist in der .m Datei, [Argumente zählen] zeigt mir nur die Anzahl der "String"-Argumente, die ich an meine Funktion übergeben habe. Das heißt, die an meine Funktion übergebenen Arrays werden in der .m-Datei nicht verstanden/gesehen.
Das Szenario sieht folgendermaßen aus:
In test.js, I call test() function with 2 arrays and 1 string.
In MyPlugin.m, in test() function, however, the number of arguments shown is only 1.
----------- plugin.js --------------------
function MyPlugin(){
};
MyPlugin.prototype.test = function(arg1, arg2, arg3){
PhoneGap.exec('MyPlugin.test', arg1, arg2, arg3);
}
//.....code is omitted......
------------------------------------------
---------------declare plugin----------------
function onDeviceReady() {
myPlugin = window.plugins.plugin;
}
--------------------------------------------------
-----------test.js where function is called----------------
function testPlugin(){
var arr1 = new Array(),
arr2 = newArray(),
text = 'sample string';
myPlugin.test(arr1, arr2, text);
};
-----------------------------------------------------------------------
--------------MyPlugin.m--------------------------
-(void)test:(NSMutableArray\*)arguments withDict:(NSMutableDictionary\*)options
{
NSUInteger argc = \[arguments count\];
NSLog(@"Number of arguments: %d", argc); //output: Number of arguments: 1
NSString \*text = \[arguments objectAtIndex:0\];
NSLog(@"%@", text); //output: sample string
}
---------------------------------------------------------
Also meine Frage ist, wie kann ich Arrays an Javascript-Funktion in phonegap Plugin für iOS übergeben.
Merci