0

URLを指定してxmlファイルをキャッシュにロードするアプリケーションがあります。次のコードがあります。

        NSHTTPURLResponse *response = nil;
    responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    cachedResponse = [[NSCachedURLResponse alloc] initWithResponse:response data:responseData userInfo:nil storagePolicy:NSURLCacheStorageAllowed];
    [[NSURLCache sharedURLCache] storeCachedResponse:cachedResponse forRequest:request];

この後、web から取得した xml ファイルを解析しています。xml ファイルには、URL からその画像をロードしているときに画像とビデオの URL があり、時間がかかります。キャッシュを使用して、解析時にそれらの画像を読み込むことはできますか? または、表示時に画像の読み込みを回避する他の方法はありますか?

4

2 に答える 2

0

この種のことを行うのに役立つライブラリがいくつかあります。人気のあるものの 1 つはSDWebImageです。キャッシュが組み込まれており、画像を非同期でダウンロードします。

以下は、動作中の SDWebImage の例です。

[imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
               placeholderImage:[UIImage imageNamed:@"placeholder.png"]
                        success:^(UIImage *image) {... success code here ...}
                        failure:^(NSError *error) {... failure code here ...}];
];
于 2012-06-20T04:51:16.210 に答える
0

あなたは2つの方法でそれを達成することができます:

  1. UI(画像を表示したい場所)を作成する前に、画像とビデオをフォアグラウンドでロードします。画像とビデオのコンテンツがロードされている間にUIが動かなくなるため、これは最悪のアイデアだと思います。

  2. 画像とビデオをバックグラウンド スレッドで読み込み、読み込み中に画面上に暗い層状のスピナーを表示します。ダウンロードが完了したらすぐにスピナーを削除することを忘れないでください。

于 2012-06-20T04:32:24.737 に答える