2

Web ブラウジング機能を提供するために使用しているアプリケーション内に UIWebView があります。

ツールバーに呼び出すボタンがあります

-(void)stopLoading;

UIWebView で。これに関する問題は、このメソッドが Web ビューに送信されると、デリゲートが

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;

メッセージ。この呼び出しに伴うエラー:操作を完了できませんでした。(NSURLErrorDomain エラー -999。)

また、didFailLoad メッセージを使用して、ページが実際に読み込みに失敗したかどうかを通知します。その場合、HTML 形式のメッセージをユーザーに表示して、この失敗をユーザーに伝えます。

問題は、ユーザーが停止ボタンを押すと、停止する前にロードされたページの一部を表示するだけでなく、エラー ページが表示されることです。

NSError.h には、比較できるエラー コードの列挙が含まれていることを期待していましたが、ログに出力されるエラー コードの観察に基づいて、独自のものを作成する必要があるようです。将来変更される可能性があるため、理想的です...

どんな提案も素晴らしいでしょう、ありがとう。

4

2 に答える 2

2

これらのエラー コードは、Foundation.framework の NSURLError.h で定義されています。

于 2009-12-22T20:44:51.887 に答える
2

これを解決するための最良の方法は、webView によって指定されたエラー コードを使用して列挙型を作成することでした。

変更されるようには見えませんが、変更される場合は、うーん。

さて、failed-to-load メソッドで、エラー オブジェクトのエラー コードを列挙型と比較するだけで、何が起こったのかを確認できます。次のようになります。

typedef enum {  
    BrowserErrorHostNotFound = -1003,
    BrowserErrorOperationNotCompleted = -999,
    BrowserErrorNoInternetConnection = -1009
} BrowserErrorCode;
于 2009-08-10T11:20:09.327 に答える