gpt4 book ai didi

ios - NSURLRequest 缓存策略

转载 作者:可可西里 更新时间:2023-11-01 04:48:21 25 4
gpt4 key购买 nike

我正在使用 NSURLRequest 和 CachePolicy 在 NSData 中下载一个 plist。当我更改我的 plist 的内容时,我的应用程序忽略了这一点并仍然显示缓存的内容。缓存持续多久?如果是这样,是否有一个选项可以说明缓存数据会持续多长时间?如果服务器上的数据比缓存更新从服务器加载数据或者它是否等于缓存使用缓存,有没有办法检查 NSURLRequest?

最佳答案

查看 URLLoadingSystem docs 中的控制响应缓存.

您可以在委托(delegate)方法中添加自己的日期

-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse

使用缓存系统要容易得多 ASIHTTPRequest .我推荐使用这个 URL 加载系统。

来自苹果文档:

The example in Listing 6 prevents the caching of https responses. It also adds the current date to the user info dictionary for responses that are cached.

-(NSCachedURLResponse *)connection:(NSURLConnection *)connection
willCacheResponse:(NSCachedURLResponse *)cachedResponse
{
NSCachedURLResponse *newCachedResponse = cachedResponse;

if ([[[[cachedResponse response] URL] scheme] isEqual:@"https"]) {
newCachedResponse = nil;
} else {
NSDictionary *newUserInfo;
newUserInfo = [NSDictionary dictionaryWithObject:[NSCalendarDate date]
forKey:@"Cached Date"];
newCachedResponse = [[[NSCachedURLResponse alloc]
initWithResponse:[cachedResponse response]
data:[cachedResponse data]
userInfo:newUserInfo
storagePolicy:[cachedResponse storagePolicy]]
autorelease];
}
return newCachedResponse;
}

关于ios - NSURLRequest 缓存策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10250309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com