сохранить дату последней загрузки в NSUserDefaults . И когда вы пытаетесь скачать, просто проверьте на эту дату.
как то так:
- (BOOL)downloadDataForecedUpdate:(BOOL)forced {
NSDate *lastDownloadDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastDownloadDate"];
if (forced || !lastDownloadDate || [[NSDate date] timeIntervalSinceDate:lastDownloadDate] > 24 * 60 * 60) {
// start download
[NSURLConnection connectionWithRequest:myDownloadRequest delegate:self];
return YES;
}
return NO;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// process data
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"lastDownloadDate"];
}
вы можете позвонить [self downloadDataForecedUpdate:NO]
везде, где это уместно. при запуске приложения или в IBAction. Используйте возвращаемое значение метода, чтобы отобразить индикатор загрузки или предупреждение, сообщающее пользователю, что он должен ждать больше.