:
NSURLErrorCancelled(-999)
「非同期ロードがキャンセルされたときに返されることが負荷にキャンセル操作を行ったときのWeb Kitフレームワークのデリゲートは、このエラーを受け取ります。ダウンロードがキャンセルされた場合、NSURLConnectionまたはNSURLDownloadデリゲートはこのエラーを受け取らないことに注意してください。
これは、最初に要求が完了する前に要求をロードし、別のもの(または同じもの)をロードする可能性が最も高い場合があります。これは起こり得る。たとえば、viewDidAppear:
のように複数回呼び出すことができる方法でloadRequest
(またはloadHTMLString
)と呼び出した場合、これはまた、UIWebView
の2つのリンクをすばやくタップすると発生すると報告されています。
したがって、loadRequest
(またはloadHTMLString
)と電話する方法と場所を確認し、場合によってはコードを入力することをおすすめします。
これを解決するために、私はあなたのWebビューのデリゲートに次のトレースを追加することをお勧め:
- (void)webViewDidStartLoad:(UIWebView *)webView {
NSLog(@"Starting to download request: %@", [webView.request.URL absoluteString]);
}
- (void)webViewDidFinishLoad:(UIWebView *)webView {
NSLog(@"Finished downloading request: %@", [webView.request.URL absoluteString]);
}
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
if ([error code] == NSURLErrorCancelled)
NSLog(@"Canceled request: %@", [webView.request.URL absoluteString]);
}
あなたは出力を検査した場合、あなたは何が起こっているかをより明確に表示されるはずです。出力を貼り付けると、さらに手伝ってくれるでしょう。
ロードが失敗した場合に発生するエラーを調べる必要があります。 –
@PhillipMills常に同じです、NSURLErrorDomainエラー-999 – emenegro
あなたは何を避けようとしていますか?実際にはあなたのコードは何もしませんでしたが、NSURLErrorCancelledに等しいかどうかに関わらず関数は返されます。 – howanghk