Apple ドキュメントから:
NSURLErrorCancelled (-999)
「非同期読み込みがキャンセルされたときに返されます。Web Kit フレームワーク デリゲートは、読み込み中のリソースでキャンセル操作を実行すると、このエラーを受け取ります。ダウンロードがキャンセルされた場合、NSURLConnection または NSURLDownload デリゲートはこのエラーを受け取りません。」
したがって、これが発生する最も可能性の高いケースは、最初のリクエストが完了する前に、リクエストをロードしてから別のリクエスト (または同じリクエスト) をロードすることです。これが発生する可能性があります。たとえば、そのようなメソッドでloadRequest
(または) を呼び出すと、複数回呼び出すことができます。これは、 で 2 つのリンクをすばやくタップした場合にも発生することが報告されています。loadHTMLString
viewDidAppear:
UIWebView
したがって、一般的な提案は、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]);
}
出力を調べると、何が起こっているのかがより明確にわかるはずです。出力を貼り付けていただければ、さらにお手伝いいたします。