2 Stimmen

Wie man mit dem Phonegap-Plugin für iOS ein Array als Argument an eine Funktion übergibt

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X