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开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 9,112评论 2 7
  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,942评论 5 53
  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 5,548评论 0 4
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 4,993评论 0 2
  • rem方案是阿里为兼容几乎所有移动端页面,而想出来的。阿里的方案具体可看githup:https://github...
    泡沫的快乐阅读 4,046评论 0 8