2

私の要件は、iPad 用の phonegap コンポーネントを作成することです。
XCode 4.2 と Phonegap 1.9.0 SDK を使用しています。

phonegap に使用する必要があるネイティブ iOS クラス ファイルのセットがありました。iOS ネイティブ コードの Plugin クラスを作成しました。私のコードには、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>)

多くのサンプルを見ましたが、アラート メッセージなどの初期のものを SUCCESS として取得するために試行されます。

これについて助けてください。

4

1 に答える 1

1
var arg1;
var arg2;
var arg3;

PluginClass.callNativeFunction([arg1, arg2, arg3]);

Javascriptで配列を作成するだけです。

Rohde Fischer が iOS の良い例を書いています

https://github.com/rohdef/PGPlugins/blob/3_Arguments/www/pluginExample.js

于 2013-02-13T19:06:45.193 に答える