我正在尝试更新我的iPhone应用程序以使用OS 3.0。我有一个显示页面正常的UIWebView。但是,当我单击一个链接时,它会调用我的委托给didFailLoadWithError,错误是操作无法完成。 (NSURLErrorDomain错误-999。)我确认这仍然适用于OS 2.2.1,所以它在3.0中发生了变化。
有什么想法吗?
答案 0 :(得分:119)
我能够找到答案here。
此主题包含此错误的说明:This error may occur if an another request is made before the previous request of WebView is completed...
我通过忽略此错误并让webview继续加载来解决这个问题。
if ([error code] != NSURLErrorCancelled) {
//show error alert, etc.
}
答案 1 :(得分:28)
NSURLErrorCancelled(-999)
“取消异步加载时返回.Web Kit框架委托在加载资源上执行取消操作时将收到此错误。请注意,如果取消下载,NSURLConnection或NSURLDownload委托将不会收到此错误。 “
对于我的情况(可能是你的情况),可以忽略这一点:
if([error code] == NSURLErrorCancelled) return; // Ignore this error
答案 2 :(得分:10)
以上两个回复是正确的> 如果加载请求导致取消,只需返回。
另外我想指出的是,人们不要忘记在您的 didFailLoadWithError 方法中放置NSLog ,这可以防止因发现问题而浪费大量时间马上!
所以这是我上面提到的最终解决方案:
-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
{
NSLog(@"ERROR : %@",error); //Get informed of the error FIRST
if([error code] == NSURLErrorCancelled)
return;
}