AFNetworking lib不在iOS中以脱机模式加载数据

时间:2014-11-15 10:55:15

标签: ios objective-c caching afnetworking afnetworking-2

我正在开发一个内容阅读应用,其中一些数据显示在故事视图和相应的详细视图中。

我已经完成了应用程序,但是有一个小错误。

我正在使用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

1 个答案:

答案 0 :(得分:0)

替换您发布的所有代码,并将请求缓存策略设置为NSURLRequestUseProtocolCachePolicy

目前,您正在对每个请求进行同步可达性查询。无论是那个还是更糟 - 它会立即返回,但总是在确定真正的可达性状态之前返回。