我有一个 webview 我想在某些情况下创建一个新实例。
我这样做:
if(self.webViewController){
self.webViewController = nil;
[self.webViewController release];
}
self.webViewController = [[WebViewController alloc]initWithNibName:@"TheWebView" bundle:nil];
在self.webViewController
我听NSNotification
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
NSLog(@"INITING WebView");
[[NSNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(doPageRequest:) name:@"doPageRequest" object:nil];
return self;
}
但是,如果我发送一条消息doPageRequest
,它会被多次调用。所以我的假设是还有更多的 webView 实例“活动”,这意味着:当我创建新实例时,旧实例没有正确释放。