0

Web サイトをダウンロードしようとしていますが、サイト全体の約 4 分の 1 しか取得できません。

    NSString *tagiString = @"http://www.tagesanzeiger.ch";
    NSURL *tagiURL = [NSURL URLWithString:tagiString];
    NSError *error;
    NSString *text =[NSString stringWithContentsOfURL:tagiURL
                                             encoding:NSASCIIStringEncoding
                                                error:&error];

ダウンロードが完了しなかったことを示すエラーは表示されません。何か案は?

4

1 に答える 1

1

これに使用することはお勧めしませんstringWithContentsOfURL。代わりに、ダウンロード操作をより細かく制御できる iOS の組み込みネットワーク クラスを使用する必要があります。たとえばstringWithContentsOfURL、タイムアウトを調整または設定する方法がない場合、接続が遅いとダウンロードが簡単に失敗する可能性があります (それがここで起こっていることかもしれません)。

また、デフォルトstringWithContentsOfURLでは非同期ではないため、そのコードをセカンダリ スレッドで実行していない限り、UI を停止することになります (これは悪いことです)。

この既存の質問 - stringWithContentsOfURL を非同期にする - 安全ですか? NSURLConnection- より適切なクラスを使用して Web サイトを文字列としてダウンロードする方法を示すサンプル コードがあります。これにより、エラー処理とデバッグがはるかに簡単になります。

于 2013-05-31T11:27:15.553 に答える