Cómo devolver BOOL al verificar la conexión a Internet en XCODE
Quiero poder verificar la conectividad a Internet cuando se carga mi vista. Para predeterminar los contenidos de mi punto de vista.
Tengo el siguiente método viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
if(![self hasInternetConnection]){
NSLog(@"SHOW ORIGINAL DOC");
}
else{
NSLog(@"SHOW NEW DOC");
}
}
Y tengo un método llamado hasInternetConnection de la siguiente manera:
- (BOOL)hasInternetConnection{
NSLog(@"Starting connection test");
internetReachableFoo = [Reachability reachabilityWithHostname:@"www.google.com"];
// Internet is reachable
internetReachableFoo.reachableBlock = ^(Reachability*reach){
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"We have internet");
return YES;
});
};
// Internet is not reachable
internetReachableFoo.unreachableBlock = ^(Reachability*reach){
// Update the UI on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
NSLog(@"We do not have internet");
return NO;
});
};
[internetReachableFoo startNotifier];
}
No quiero usar la clase de accesibilidad obsoleta de Apple usando:
NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
¿Cómo puedo cambiar el código en - (BOOL) hasInternetConnection para devolver eficientemente un booleano para que mi método funcione?