AFNetworking框架:如何缓存图像

Mil*_*0R3 2 objective-c ios afnetworking

-(void)setImageWithURL:(NSURL *)url,     
Run Code Online (Sandbox Code Playgroud)

AFNetworking中的方法描述:" 如果图像在本地缓存,则立即设置图像 ",但它不会让我设置缓存目录,那么它在哪里缓存图像?或者它真的缓存图像?

Par*_*iya 5

AFNetworking利用已NSURLCache由其子类及其任何子类提供的缓存功能.

使用Pete Steinberger的SDURLCache分支,它提供磁盘缓存,而不是由NSURLCacheon 实现的iOS.

注意:截至iOS5,不再需要.NSURLCache现在正确caches objects,只要Cache-Control headerset.

您可能会发现它有用set ignoreMemoryOnlyStoragePolicyYESSDURLCache情况下,这将确保图像将被更一致缓存到磁盘脱机使用(其中,如SDURLCache README报道,iOS 5的支持,但仅用于HTTP,所以它仍然是一个如果你想支持iOS 4或https,这是个不错的选择)

请参阅AFNetworking-FAQ - AFNetworking是否内置了任何缓存机制?以及AFURLCache - iOS链接的磁盘缓存.

  • 根据Pete Steinberger本人的说法:"注意:从iOS5开始,不再需要它了.只要设置了Cache-Control标头,NSURLCache现在可以正确缓存对象." (2认同)