ios开发中webview加载失败返回 NSURLErrorDomain-999的解决方法。

最近在开发一个IOS应用应用到webview控件加载网页,问题来了,webview加载网页是需要时间的,如果用户操作比较快,出现一个load页面没有加载完毕的就进入下一个的话,那么就会进入:

func webView(webView: UIWebView, didFailLoadWithError error: NSError) {

//TODO

}

问题就在这里了,由于我的写的代码,如果报错,我给予他一个返回的页面。这样的代码,每次就出现,如果用户操作特别频繁,一个页面没有加载完毕就进入下一个页面,这时候,

func webView(webView: UIWebView, didFailLoadWithError error: NSError) {

的error 加载失败返回 nsurlerrordomain -999 的

从苹果公司的文档:

NSURLErrorCancelled (-999)

"当异步加载取消返回。当它执行取消操作上加载资源时,Web 工具包框架委托将收到此错误。请注意,NSURLConnection 或 NSURLDownload 委托不会收到此错误如果取消下载。"

所以,最有可能为这种情况发生的情况为您加载请求,然后另一个 (或相同),第一完成之前。这可能发生。例如,如果调用 loadRequest (或 loadHTMLString ) 这样的方法在 viewDidAppear: 可以调用多次。这也据报发生如果你快速点击 2 链接在 UIWebView 。

那么怎么解决这个问题呢。

其实,我们只要忽略他就可以了,


func webView(webView: UIWebView, didFailLoadWithError error: NSError) {


if error.code == NSURLErrorCancelled {


return ;  //忽略这个错误。


}

你可能感兴趣的:(ios开发中webview加载失败返回 NSURLErrorDomain-999的解决方法。)