1

私はインターネットからすべてのテーブルセルのテキストと画像をダウンロードします。私はバックグラウンド(GCD)でそれを行いますが、行がたくさんあるため、パフォーマンスは良くありません(すべての行のイメージをdllするのに時間がかかります)。

画像dllにはnsurlconnectionを使用しています。

私は少しググって混乱しました。これを行う最も簡単な方法は何ですか?NSCache(画像とテキスト用)を使用しますか、それともコアデータを学習する必要がありますか?

4

4 に答える 4

2

AsyncImageViewを使用して、画像をダウンロードおよびキャッシュできます。

于 2012-07-25T09:07:01.497 に答える
1

そのためにブロックとASIHTTPRequestを使用していますが、正常に動作します。

[ASIHTTPRequest setDefaultCache:[ASIDownloadCache sharedCache]];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:[NSURL urlWithString:<yoururl>]];
[request setDownloadCache:[ASIDownloadCache sharedCache]];
[request setCachePolicy:ASIOnlyLoadIfNotCachedCachePolicy];
[request setCacheStoragePolicy:ASICacheForSessionDurationCacheStoragePolicy];


[request setCompletionBlock:^{
    //do your things
}];

[request setFailedBlock:^{
     //request failed - inform the user
}];

[request startAsynchronous];
于 2012-07-25T08:59:05.053 に答える
1

私はこのlibを使用してWeb画像をキャッシュします
https://github.com/rs/SDWebImage 非常に使いやすい

[imageView setImageWithURL:[NSURL URLWithString:yoururl]];

于 2012-07-25T09:01:28.537 に答える
1

https://github.com/rs/SDWebImage/これを行うための超簡単な方法をチェックしてください...

READMEから:

[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
               placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

キャッシュされた画像に必要なのはこれだけです。これを拡張してテキストオブジェクトのキャッシュもサポートする方法については、ソースを参照してください。NSUserDefaultsまたは、URLとテキストデータに基づいてキーと値のペアを保存するために使用することもできます。

于 2012-07-25T09:02:39.333 に答える