嗨!我正在开发一个应用程序。我正在创建一个webview。通过使用该webview我想在第一个完成后加载下一个URL。我这样写了- (void)webViewDidFinishLoad:(UIWebView *)webView
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
alert_View=[[UIAlertView alloc]initWithTitle:@"\n\nData sent successfully!" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles:nil, nil];
[alert_View show];
[alert_View release];
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(removeAlert:) userInfo:nil repeats:NO];
}
removeAlert方法看起来像
-(void)removeAlert:(id)sender
{
[alert_View dismissWithClickedButtonIndex:-1 animated:YES];
[web loadRequest:[arr objectAtIndex:1];
}
arr
数组包含所有准备好的请求。何时触发此removeAlert
方法直接执行-(void)webView:didFailLoadWithError:
方法。那么请告诉我如何在第一个请求结束后加载另一个请求?
答案 0 :(得分:1)
如果你正在使用ARC,你应该摆脱[alert_View release]
。警报视图可能不会被保留,这可能会导致问题。
另外,请尝试[self performSelector: @selector(removeAlert:) withObject:nil afterDelay:3.0];
并查看是否有效,而不是NSTimer
来电。
答案 1 :(得分:0)
你能做到的一种方法是委派。因此,一旦您的第一个请求得到处理并得到回复,您就可以发送下一个请求。
如果您对代表不熟悉,可以使用link来帮助您入门。