相关疑难解决方法(0)

是否可以阻止NSURLRequest缓存数据或在请求后删除缓存数据?

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

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

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

我尝试过使用下面记录的所有缓存策略:

NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
theRequest.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
Run Code Online (Sandbox Code Playgroud)

但似乎没有什么可以释放记忆!

cocoa-touch caching

87
推荐指数
5
解决办法
6万
查看次数

NSURLConnection,Basic Auth和Cookies的问题

我发现我调用REST的服务器将cookie传递给我的iPhone.它还使用HTTP Basic Auth.

我有一个应用程序,您可以在其中更改用于身份验证的帐户,但是我发现更改凭据无关紧要,因为didReceiveAuthenticationChallenge从未调用过.

我已经研究了两个可能的修复:

  • 在更改凭据时手动删除cookie
  • 设置 [request setHTTPShouldHandleCookies:NO]

我想知道我是否正确理解这一点.我预计NSURLRequestReloadIgnoringCacheData会照顾缓存,但似乎并非如此.

我该如何解决这个问题?

编辑:我只是试着设置shouldHandleCookiesNO,但似乎饼干仍然传递到服务器.

iphone cocoa-touch objective-c http-caching nsurlconnection

4
推荐指数
1
解决办法
2124
查看次数