Как сделать так, чтобы это приложение не получало кэшированную информацию по умолчанию при каждом открытии? - PullRequest
0 голосов
/ 28 июня 2011

Как сделать так, чтобы приложение перезагружалось при каждом его открытии, и, если нет подключения к Интернету, использовать кеш?

На самом деле приложение:

если открыт первый раз: загружается с URL-адреса ... но если он уже открыт, он продолжает противостоять из кэшированной части ....

проблема в том, что исходный файл изменяется и постоянно обновляется, поэтому пользователь получает старую информацию, а не самую последнюю ....

я хочу вот что: 1-й раз открыт, загружается с URL, все остальное время загружай с URL. но если нет подключения к интернету, используйте кэшированную информацию.

Пожалуйста, найдите фактический код,

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 голосов
/ 28 июня 2011

Напишите некоторый код в applicationDidBecomeActive из AppDelegate. Этот метод вызывается каждый раз, когда приложение выходит на передний план. Проверьте, можете ли вы загрузить новые данные, если не можете, то просто вернитесь и позвольте обычному потоку показать старые результаты. Если вы можете обновить результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...