UIViewControllerのviewDidDisappearでUIWebViewのローカルファイルからコンテンツをリロードしようとしています。Badaccessがキャッチされました。しかし、viewWillDisappearで同じコードを書くと、機能します。理由は何でしょうか?UIWebViewが表示されていない場合(内容がわからない場合)、コンテンツを再読み込みできないと聞いたことがあります。
私のコード(それで十分だといいのですが):
@interface WebViewController : UIViewController <UIWebViewDelegate> {
ExtendedWebView * webView;
}
@property (nonatomic, retain) ExtendedWebView * webView;
@end
//WebViewController implementation
- (void)loadView
{
[super loadView];
WebViewCachingSingleton * webViewSingleton = [WebViewCachingSingleton sharedService];
ExtendedWebView * newWebView = [webViewSingleton getAvailableWebViewResource];//here I get ExtendedWebView. it works =)
newWebView.frame = CGRectMake(0, 0, 320, 400);
newWebView.delegate = self;
[self.view addSubview:newWebView];
self.webView = newWebView;
}
- (void)viewDidDisappear:(BOOL)animated
{
[[WebViewCachingSingleton sharedService] makeWebViewUnused:self.webView];
}
//WebViewCachingSingleton:
- (void) makeWebViewUnused : (ExtendedWebView *) aWebView
{
aWebView.isFree = YES;
[aWebView reload];
}