У кого-нибудь есть пример кода для реализации кэширования изображений с использованием 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