gpt4 book ai didi

cocoa-touch - 是否可以防止 NSURLRequest 在请求后缓存数据或删除缓存的数据?

转载 作者:行者123 更新时间:2023-12-03 13:19:03 25 4
gpt4 key购买 nike

在 iPhone 上,我使用 NSURLRequest 对一大块数据执行 HTTP 请求。对象分配高峰,我相应地分配数据。当我完成数据时,我会相应地释放它 - 但是仪器没有显示任何已释放的数据!

我的理论是默认情况下 HTTP 请求被缓存,但是 - 我不希望我的 iPhone 应用程序缓存这些数据。

有没有办法在请求后清除此缓存或首先防止任何数据被缓存?

我尝试使用所有记录在案的缓存策略,如下所示:

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
theRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;

但似乎没有什么可以释放内存!

最佳答案

通常像这样创建请求更容易

NSURLRequest *request = [NSURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringCacheData
timeoutInterval:60.0];

然后创建连接
NSURLConnection *conn = [NSURLConnection connectionWithRequest:request
delegate:self];

并在委托(delegate)上实现 connection:willCacheResponse: 方法。只需返回 nil 就可以了。
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse {
return nil;
}

关于cocoa-touch - 是否可以防止 NSURLRequest 在请求后缓存数据或删除缓存的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/405151/

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