.h ファイル:
@interface MyView: UIViewController <UIWebViewDelegate> {
UIWebView *webView;
}
.m ファイル:
-(void)viewDidLoad {
CGRect webFrame = [[UIScreen mainScreen] applicationFrame];
webView= [[UIWebView alloc] initWithFrame:webFrame];
webView.delegate = self;
[self.view addSubview:webView];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];
}
-(void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"start");
}
-(void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"finish");
}
-(void)dealloc {
webView.delegate = nil;
webView = nil;
}
別の ViewController で MyView を作成します。
MyView * myView = [[MyView alloc] init];
[self.view addSubView:myView.view];
myView = nil;
myView は nil に設定されているため、デリゲートも破棄されます。
これを解決するには、myView = nil の文を削除します。
私に答えてくれてありがとう。私はあなたの答えから学びました。