我试图弄清楚如何使用 URL 加载框架来加载利用缓存的 URL。
我正在使用 NSURLConnections 并为它们提供 NSURLRequests。我什至将这些请求上的 cachePolicy 设置为 NSURLRequestReturnCacheDataElseLoad。我第一次加载请求时,它会自动放入缓存中([NSURLCache sharedCache]
拥有它)。但是下次我加载相同的请求时, NSURLConnection 似乎会忽略缓存中的内容并重新加载数据。
我应该手动实现缓存查找并返回缓存数据吗?NSURLConnection 不这样做吗?或者有什么方法可以让框架无缝使用缓存?
更新:尝试了以下但没有成功:
- 将请求缓存策略设置为
NSURLRequestReturnCacheDataElseLoad
而不是NSURLRequestUseProtocolCachePolicy
- 重用请求对象而不是创建一个新对象
- 使用
+[NSURLConnection sendSynchronousRequest:returningResponse:error:]
而不是异步加载