3

プラグイン インスタンスの有効期間について考慮する必要があることはありますか? または、Web ビューが表示されている間は常にこのオブジェクトが存在すると想定できますか?

いくつかのプラグインを見ると、一部の人々は、ある種のシングルトン マネージャーを使用して PhoneGap プラグインにデータを保存する傾向があるようです。PhoneGap プラグイン自体に保存しないのはなぜですか?

質問する理由は、Web ビューと通信する唯一の適切な方法は [self writeJavaScript:message] メソッドを使用することだと思われるからです。通知を受け取るために自分自身を登録する場合、プラグイン インスタンスが存在することを確認したいと思います。

4

1 に答える 1

6

プラグインは、Web ビューが存続している限り存続します。

変数を初期化するか、コールバックを登録する適切な方法は、

- (CDVPlugin*) initWithWebView:(UIWebView*)theWebView {
   self = [super initWithWebView:theWebView];
   if (self) {
       _variable = [[Variable alloc] init]; 
       [Classname addListener:self];
   }
   return self;
}

方法。このメソッドはすべてのプラグインに対して実行されます。

dealloc メソッドで自分自身をクリーンアップすることを忘れないでください。

于 2012-09-13T15:10:09.443 に答える