NSURLRequest、NSURLConnection、およびNSURLRequestReturnCacheDataElseLoadポリシーを使用してイメージのキャッシュを実装するサンプルコードがありますか?NSURLRequest、NSURLConnection、NSURLRequestReturnCacheDataElseLoadポリシーの実装
次のコードを使用していますが、キャッシングが発生していないようです。私はいつもURLから画像を取得しています。
NSMutableURLRequest *req=[NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://i54.tinypic.com/10pd2jk.png"]];
NSData *data=[NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
NSLog(@"Received %d bytes", [data length]);
[req setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
data=[NSURLConnection sendSynchronousRequest:req returningResponse:nil error:nil];
NSLog(@"Received %d bytes", [data length]);
[[NSURLCache sharedURLCache] setMemoryCapacity:1024*1024*10];
UIImage *myImage = [UIImage imageWithData:data];
UIImageView *sd = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 50, 50)];
sd.image = myImage;
[self.view addSubview:sd];
を試してみてください私もこれと同じ問題を抱えています。 SDURLCacheは方法のように思えますが、ドキュメントで提供されているサンプルのコードスニペットは理想的にはより完全です。私もキャッシングを観察していません。私のビューをロードするとき、私は[self getImage]と言っています。私は、SDURLCacheを使用することで、他に何もする必要がないと仮定しています。または、手動で「最後に変更した」時刻を保持してから、共有キャッシュから読み取る必要がありますか?もしそうなら、私は手動でキャッシュを実装することになったので、時間を節約することができます。 – user798719