私はインターネットからすべてのテーブルセルのテキストと画像をダウンロードします。私はバックグラウンド(GCD)でそれを行いますが、行がたくさんあるため、パフォーマンスは良くありません(すべての行のイメージをdllするのに時間がかかります)。
画像dllにはnsurlconnectionを使用しています。
私は少しググって混乱しました。これを行う最も簡単な方法は何ですか?NSCache(画像とテキスト用)を使用しますか、それともコアデータを学習する必要がありますか?
私はインターネットからすべてのテーブルセルのテキストと画像をダウンロードします。私はバックグラウンド(GCD)でそれを行いますが、行がたくさんあるため、パフォーマンスは良くありません(すべての行のイメージをdllするのに時間がかかります)。
画像dllにはnsurlconnectionを使用しています。
私は少しググって混乱しました。これを行う最も簡単な方法は何ですか?NSCache(画像とテキスト用)を使用しますか、それともコアデータを学習する必要がありますか?
AsyncImageViewを使用して、画像をダウンロードおよびキャッシュできます。
そのためにブロックと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];
私はこのlibを使用してWeb画像をキャッシュします
https://github.com/rs/SDWebImage
非常に使いやすい
[imageView setImageWithURL:[NSURL URLWithString:yoururl]];
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とテキストデータに基づいてキーと値のペアを保存するために使用することもできます。