Iphone webViewDidStartLoad请求URL未设置为正在加载的URL

Iphone webViewDidStartLoad请求URL未设置为正在加载的URL,iphone,ios,ios4,uiwebview,nsurlrequest,Iphone,Ios,Ios4,Uiwebview,Nsurlrequest,我正在使用一个浏览器,它有后退和前进按钮,当点击时,应该立即显示正在加载的页面的URL。目前我做了一些类似于[webView goBack]然后实现委托UIWebView方法: - (void)webViewDidStartLoad:(UIWebView *)aWebView { NSLog(@"began loading URL: %@", aWebView.request.URL); } 但这并没有导致我预期的行为 例如,如果我从www.google.com开始,然后导航到www.ao

我正在使用一个浏览器,它有后退和前进按钮,当点击时,应该立即显示正在加载的页面的URL。目前我做了一些类似于
[webView goBack]然后实现委托UIWebView方法:

- (void)webViewDidStartLoad:(UIWebView *)aWebView {
  NSLog(@"began loading URL: %@", aWebView.request.URL);
}
但这并没有导致我预期的行为

例如,如果我从www.google.com开始,然后导航到www.aol.com,然后按下后退按钮,导致调用web视图的goBack代码,NSLog将输出
开始加载URL:http://www.aol.com/
即使它应该声明google.com正在加载。然而,google页面将在web视图中完美加载。我不明白的是,为什么URL与加载的内容不一致。有时日志会显示正在加载aol.com,然后是google.com,但这只是偶尔发生的事情。这是SDK的错误还是我遗漏了什么


提前感谢。

我建议每次加载新url时使用一个字符串数组,将其添加到数组中,并在其旁边定义一个基于后退/前进单击的全局计数器递增/递减,以便像这样轻松获取url

NSString *urlString = [urlArray objectAtIndex:theCounterValue];

尝试使用此委托方法

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSLog(@"Request Url:%d",request.URL.absoluteURL);
}
尝试:

NSString *currentURL;
currentURL = [[NSString alloc] initWithFormat:@"%@", webView.request.mainDocumentURL];