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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta