2012-05-06 66 views
0


我想緩存一些圖像加載從一個URL通過使用AFImageCache,沒有成功......我不知道如果我做任何錯誤和如果你曾經使用過這個庫,會喜歡你的意見。iOS緩存與AFImageCache圖像似乎並不工作

我從的NSURLRequest獲得的圖像,然後如下

UIImage *img; //This image is a png icon returned from the server 
NSData *imgData = UIImagePNGRepresentation(img); // Always checking length to make sure its more than 0, and it is 

[[AFImageCache sharedImageCache] cacheImageData: imgData 
             forURL: myURL 
             cacheName: @"IconCache"]; 

在接下來的運行,我會盡力檢查圖像緩存,但總是會得到它的緩存由於某種原因,nil

UIImage *myIcon = [[AFImageCache sharedImageCache] cachedImageForURL: myURL cacheName: @"IconCache"]; 

NSLog("%@", myIcon); // output (null) 

對此的任何想法或想法? 謝謝。

回答

5

您使用的是什麼版本的AFNetworking?很久以前,AFImageCache已從公共API中刪除。如果要執行圖像緩存,請使用NSURLCache,該緩存可在系統級別緩存所有網絡響應。 AFImageCache一直是一個臨時緩存,用於提高滾動視圖中圖像加載的性能。

+0

嘿亞光:)我沒有升級AFNetworking一段時間,主要是因爲我沒有任何問題,迄今爲止我的需求。我試試NSURLCache。謝謝。 –

+0

嘿馬特,事情是AFImageCache允許我通過url緩存數據,這將允許我稍後檢查網址是否已被緩存。這可能與NSURLCache? –

+0

是的,'NSURLCache'允許你檢查。但說實話,這不是很多場合,這是一個好主意™。此外,AFImageCache現在是私人的,所以無法與它交互,就像檢查是否存在緩存的圖像。基本上,我的建議是完全忽略它。 – mattt