我正在开发一个内容阅读应用,其中一些数据显示在故事视图和相应的详细视图中。
我已经完成了应用程序,但是有一个小错误。
我正在使用AFNetworking库进行在线数据加载和离线缓存。 我已经定义了缓存策略,如下面的代码所述:
Reachability *reach = [Reachability reachabilityWithHostname:@"google.com"];
if ([reach isReachable]) {
// Reachable
request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReloadIgnoringLocalCacheData
timeoutInterval:60.0];
}
else{
request = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestReturnCacheDataDontLoad
timeoutInterval:60.0];
}
但是,我遇到一个小问题,如果我在线加载一些数据,然后关闭互联网连接并关闭应用程序,如果我在离线模式下再次重新启动应用程序,则应该加载缓存数据,但它是没有发生。
我也尝试更改this link中定义的缓存策略。
应用部署目标:iOS 6.0
设备:通用
xcode版本:6.1
AFNetworking lib版本:2.0
答案 0 :(得分:0)
替换您发布的所有代码,并将请求缓存策略设置为NSURLRequestUseProtocolCachePolicy
。
目前,您正在对每个请求进行同步可达性查询。无论是那个还是更糟 - 它会立即返回,但总是在确定真正的可达性状态之前返回。