Error Domain=NSURLErrorDomain Code=-999 “已取消” UserInfo={NSErrorFailingURLKey=https://api.leancloud.cn/1.1/batch/save, NSLocalizedDescription=已取消, NSErrorFailingURLStringKey=https://api.leancloud.cn/1.1/batch/save}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{
[self.loadingView stopAnimating];
}
如何定位上面离奇的cancel?
1. http://iphonedevsdk.com/forum/iphone-sdk-development/6280-uiwebview-didfailloadwitherror-how-get-errors-code-list.html
上面提出了一个解决方案:
- (void)webView:(UIWebView *)wv didFailLoadWithError:(NSError *)error {
if ([error code] != -999) {
//show error alert, etc.
}
}
其他博客给出的可能性:
1. 重复发送同一个请求,前一个请求未发出则被立刻取消;
2. 持有这个网络发送请求的对象被回收或者尚未初始化完成;
3. 请求的URL错误,这里不是指404或者参数错误,而是如果指定了使用POST,却在URL字符串后直接追加了参数字段和参数内容而不是在消息体附加参数信息,则会报此错误。解决方法是要么使用GET请求,参数全部写在URL后;要么使用POST请求,参数转成NSData后附在请求体中。
我遇见的应该属于第一种,请求重复.
至于为什么重复?都是因为URLProtocol搞得?.
遇见这个问题的好像都是在iOS8的系统, 其他的系统目前正常.