ASIHTTPRequest Доступность Как
Как бы мне ни нравился ASIHTTPRequest, нигде не документировано, как использовать модифицированный класс Reachability, и я не смог найти его в stackru или в любых примерах проектов.
В настоящее время я в этой точке:
Reachability *reach = [Reachability reachabilityWithHostName:@"http://google.com"];
[reach startNotifier];
if ([reach isReachable]) {
NSLog(@"connection");
}else{
NSLog(@"no connection");
}
Который, кажется, не работает.
2 ответа
Решение
Вам нужно настроить обработчик уведомлений для этого:
Reachability *reach = [Reachability reachabilityWithHostName:@"http://google.com"];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(reachabilityChanged:)
name:kReachabilityChangedNotification
object:nil];
[reach startNotifier];
Затем реализуйте обработчик так:
- (void) reachabilityChanged:(Reachability *) reach {
if ([reach isReachable]) {
NSLog(@"connection");
} else{
NSLog(@"no connection");
}
}
Кроме того, когда вам не нужно знать, когда что-то меняется, удалите себя в качестве наблюдателя:
[[NSNotificationCenter defaultCenter] removeObserver:self name:kReachabilityChangedNotification object:nil];
- (void) reachabilityChanged:(NSNotification *)notification
{
Reachability *localReachability = [notification object];
if ([localReachability isReachable])
{
NSLog(@"connection");
} else{
NSLog(@"no connection");
}
}
Пожалуйста, внесите эти изменения, тогда код будет работать как шарм:)