首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NSURLRequest异常行为

NSURLRequest异常行为
EN

Stack Overflow用户
提问于 2011-09-26 12:20:16
回答 1查看 249关注 0票数 1

我遇到了一个奇怪的问题。我在我的设备上运行iOS 4.3.2。在Xcode4中编译,但我没有使用iOS 5 beta SDK。

我的应用程序从服务器获取plist文件,plist文件是我在应用程序中使用的一组字符串。

我通过请求和连接获得数据,如下所示

代码语言:javascript
运行
复制
    NSURLRequest *req = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:pathAndFile]
                                        cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];
NSURLConnection *con =[[NSURLConnection alloc] initWithRequest:req 
                                                      delegate:self];

在wifi上运行时-如果我在服务器端进行更改,应用程序将看到新数据,并在每次启动应用程序时使用它。

如果我把我的手机切换到3G模式,它会在第一时间正确地获取数据。如果我随后返回并更改服务器上的文件,并重新运行应用程序-它只加载旧数据,而不是新数据。应用程序正在命中建立和加载连接的代码。

好了,现在我正处于应用程序使用旧数据的状态。我把手机切换到wifi和BAM,新的数据就在那里。

但如果我现在关闭应用程序。关闭wifi。启动应用程序,应用程序将再次使用旧数据。

我确实实现了

代码语言:javascript
运行
复制
- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse {
return nil;

}

如在另一个堆栈溢出线程中所建议的。谁有任何想法,为什么会发生这种情况,以及我如何让它正确工作?

EN

回答 1

Stack Overflow用户

发布于 2011-09-26 12:33:08

我只是抛出这一点作为检查:

我很难相信这一点,但也许你的3G运营商正在缓存?您是否可以检查您的服务器日志,以查看您是否收到来自设备的实际呼叫?如果没有,请尝试在每个请求的URL末尾连接一个随机的querystring值,然后再次检查服务器日志。

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7550614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档