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閱讀 3,705評論 2 7
  • IOS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、...
    學無止境666閱讀 45,820評論 5 53
  • OS之UIWebView的使用 剛接觸IOS開發1年多,現在對于 混合式 移動端開發越來越流行,因為開發成本上、速...
    知之未道閱讀 1,667評論 0 4
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整體介紹 UIWe...
    F麥子閱讀 1,250評論 0 2
  • rem方案是阿里為兼容幾乎所有移動端頁面,而想出來的。阿里的方案具體可看githup:https://github...
    泡沫的快樂閱讀 757評論 0 8