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 回答