ポリシーを使用してリクエストを開始すると、経過時間に関係なく、if anyNSURLRequestReturnCacheDataElseLoad
から結果を取得することが期待されます。NSURLCache
ただし、システムは常に要求が指すサーバーに到達しようとし、サーバーが応答しない場合はエラーを返します。
UIImageView
リクエストには のカテゴリを使用しますAFNetworking
。
NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];
__weak __typeof(self) weakSelf = self;
NSLog(@"[%@] %@", request.URL, [[NSURLCache sharedURLCache] cachedResponseForRequest:request]); // this returns an instance of NSCachedURLResponse!
[self setImageWithURLRequest:request placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
__typeof(weakSelf) self = weakSelf;
self.image = image;
} failure:NULL];
NSURLCache に直接問い合わせると有効な が返される場合でも、これは画像を設定しませんNSCachedURLResponse
。
アプリはiOS6のみで動いているので、私の知る限りオンディスクキャッシュに問題はないはず?!
どんな助けでも大歓迎です!ありがとう!