如何使这个应用程序不是每次都打开时默认获取缓存信息?

时间:2011-06-28 02:50:48

标签: iphone caching

如何在每次打开时重新加载该应用,如果没有互联网连接,请使用缓存吗?

实际上应用程序:

如果第一次打开:它从网址加载...... 但如果它已经打开,它会继续从缓存的部分进行操作....

问题是原始文件发生了变化并且已经继续更新,因此,用户获取旧信息而不是最新信息....

我想要的是: 第一次打开,从网址加载, 所有其他时间,从网址加载。 但如果不是互联网连接,请使用缓存的信息。

请找到实际代码,

if([DreamsUtil isNetworkAvailable]) {

    NSData *tempData = [[EGOCache currentCache] dataForKey:DREAMS_CACHE_KEY];
    if(tempData != nil)
    {
        [self parseData:tempData];
    }else{
        loading = [LoadingView loadingViewInView:self.view];
        NSURL *url = [NSURL URLWithString:[DreamsUtil serviceURL]];
        // Create the request.
        request=[NSURLRequest requestWithURL:url
                                 cachePolicy:NSURLRequestUseProtocolCachePolicy
                             timeoutInterval:60];

        connection=[[NSURLConnection alloc] initWithRequest:request delegate:self];
        if (connection) {
            receivedData = [[NSMutableData data] retain];
            dataArray = [NSArray array];
        } else {
            [DreamsUtil alertWithMessage:@"Connection Faild"];
        }//else

    }//else
}//if

}

1 个答案:

答案 0 :(得分:0)

在AppDelegate的applicationDidBecomeActive中编写一些代码。每次应用程序到达前台时都会调用此方法。检查是否可以加载新数据,如果不能,则返回并让正常流程显示旧结果。如果可以刷新结果。