Я занимаюсь разработкой приложения для iPad и пытаюсь найти наилучший способ решить, может ли пользователь подключиться к Интернету. Если у пользователя нет подключения, я буду загружать кэшированные данные, в противном случае я буду загружать новые данные. Я пытаюсь использовать для этого класс доступности Apple, и я хотел посмотреть, правильно ли я это делаю. В приложении DidFinishLaunchingWithOptions я делаю это:
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];
Reachability hostReach = [[Reachability reachabilityWithHostName: @"www.apple.com"] retain];
[hostReach startNotifer];
Тогда моя достижимость изменилась: выглядит так:
- (void)reachabilityChanged:(NSNotification* )note {
Reachability *curReach = [note object];
self.internetConnectionStatus = [curReach currentReachabilityStatus];
if (internetConnectionStatus == NotReachable) {
[viewController getDataOffline];
} else {
if (![[NSUserDefaults standardUserDefaults] objectForKey:kFIRST_LAUNCH]) [viewController getCurrentLocation];
else [viewController getData];
}
}
Прямо сейчас, это отлично работает для WiFi iPad. Я просто хочу убедиться, что это будет работать для 3G iPad. Не могли бы вы сообщить мне, правильно ли я это делаю или нет?