kit*_*oop 5 iphone caching disk nsurlconnection nsurlrequest
我有一个 UITableView,其单元格包含从 Internet 异步加载图像的自定义 ImageView。要加载这些图像,我使用 NSURLRequest 和 NSURLConnection 工作正常。唯一的问题是图像没有缓存,因此每次使用时都会下载。我试图将 NSURLRequest 的 cachePolicy 设置为“NSURLRequestReturnCacheDataElseLoad”,但没有任何效果。
从链接上的最后一个答案看来,iPhone 上的 NSURLRequest 不支持磁盘缓存。这样对吗?
如果它真的有效,我很想知道在我的情况下它不起作用的原因是什么。
这是代码:
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://myurl"] cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)
我认为应该有效。如果没有,则可能意味着 Web 服务器实际上正在提供不可缓存的内容。例如,因为它没有设置正确的标题。
如果您可以发布其中一张图片的链接,那么我们可以仔细查看。
HTTP/1.1 200 OK
Date: Mon, 01 Mar 2010 12:40:46 GMT
Server: Apache
Last-Modified: Mon, 01 Mar 2010 09:33:29 GMT
ETag: "25e8dd2-11a6-480b9f1178c40"
Accept-Ranges: bytes
Content-Length: 4518
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive
Content-Type: image/png
Run Code Online (Sandbox Code Playgroud)
这是您的一张图像作为标题返回的内容。我没有看到ExpiresorCache-Control标头,所以这可能就是它们没有被缓存的原因。我认为就 WebKit 而言,这是每次都应该重新加载的动态内容。
| 归档时间: |
|
| 查看次数: |
2553 次 |
| 最近记录: |