.h file:
@interface MyView: UIViewController <UIWebViewDelegate> {
UIWebView *webView;
}
.m file:
-(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;
}
create MyView in another ViewController:
MyView * myView = [[MyView alloc] init];
[self.view addSubView:myView.view];
myView = nil;
myView is set to be nil so its delegate is also destroyed.
To solve this, remove the sentence of myView = nil.
Thank you guys who answered me. I did learnt from your answers.