2016-02-07 3 views
1

Я работаю над скриптом, который использует Reachability для проверки подключения к Интернету. Если нет Интернета, я хочу, чтобы он загружал второй ViewController. Это то, что я до сих пор:iOS: переключиться на второй ViewController

-(BOOL) hasInternet { 
    Reachability *reach = [Reachability reachabilityWithHostName:@"http://www.google.com"]; 
    NetworkStatus internetStatus = [reach currentReachabilityStatus]; 
    if(internetStatus == NotReachable){ 
     SecondViewController *second = [[SecondViewController alloc] initWithNibName:nil bundle:nil]; 
     [self presentViewController:second animated:YES completion:nil]; 
    }else{ 

    } 
    return YES; 
} 

Ошибка я получаю:

Попытка представить SecondViewController: 0x7ff780628d10 на ViewController: 0x7ff780719830 которого вид не в иерархии окон!

Может ли кто-нибудь увидеть, куда я иду, не так.

Большое спасибо за вашу помощь и время.

+0

r u делать это на делегате приложения? –

+0

Нет, это в первом ViewController. – DCJones

+0

Сделать контроллер первого вида как корневой вид, а второй - –

ответ

1

Вы пытаетесь представить другой viewController, пока первый ViewController еще не загружен.

Решение:

  1. Обратитесь к функции внутри viewDidAppear() метод.
  2. Пишущие контроллеры для чтения Имя, которое вы хотите загрузить
Смежные вопросы