2013-05-14 36 views
0

當我通過NSURLRequestReturnCacheDataElseLoad策略開始請求時,無論年齡多大,我都希望從NSURLCache得到結果(如果有的話)。但是,系統總是嘗試訪問請求指向的服務器,並且如果服務器沒有應答,則返回錯誤。NSURLConnection/AFNetworkingOperation未使用的NSURLCache

我使用UIImageView類別的AFNetworking作爲請求。即使直接詢問NSURLCache會返回一個有效NSCachedURLResponse

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]; 

這不會設置圖像。

該應用程序僅在iOS6上運行,因此就我所知,應該沒有磁盤緩存問題?!

任何幫助表示讚賞!謝謝!

回答

1

這是一個已知問題。有關解決方法,請參閱AFNetworking github page的相關討論。

+0

好的,謝謝你的信息! – 2013-05-14 15:34:40