2015-05-19 2 views
0

Я пытаюсь загрузить другую раскадровку, но получаю эту ошибку. В окне приложения ожидается, что в конце запуска приложения будет установлен корневой контроллер. Может ли кто-нибудь мне помочь?Загрузка различной раскадровки, вызывающей ошибку

- (UIStoryboard *)grabStoryboard { 

    UIStoryboard *storyboard; 

    // detect the height of our screen 
    int height = [UIScreen mainScreen].bounds.size.height; 

    if (height == 480) { 
     storyboard = [UIStoryboard storyboardWithName:@"iPhone_4" bundle:nil]; 
     // NSLog(@"Device has a 3.5inch Display."); 
    } 
    if(height == 568) 
    { 
     storyboard = [UIStoryboard storyboardWithName:@"iPhone_5" bundle:nil]; 
     // NSLog(@"Device has a 4inch Display."); 
    } 
    if(height == 667) 
    { 
     storyboard = [UIStoryboard storyboardWithName:@"iPhone_6" bundle:nil]; 
     // NSLog(@"Device has a 4inch Display."); 
    } 

    if(height == 736) 
    { 
     storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
     // NSLog(@"Device has a 4inch Display."); 
    } 

    return storyboard; 
} 
+0

Ошибка почти наверняка лежит в вашей функции applicationdidfinishlaunching внутри вашего appdelegate. Опубликовать это также – chedabob

+0

В качестве побочного примечания, действительно не должно быть причин для загрузки другой раскадровки для каждого размера экрана iPhone. Автомакет и классы размеров могут справиться с этим гораздо более элегантным и управляемым способом ... –

ответ

0

Вы получаете эту ошибку, потому что компилятор видит случай, когда ваша функция может возвращать неинициализированную переменную раскадровки. Это могло бы произойти, если бы не утверждения if были истинными. Поэтому лучше переписать эту функцию, чтобы она всегда возвращала инициализированную переменную раскадровки. Мое предложение - изменить способ определения модели устройства. Взгляните на это post для подсказки.

0

Я думаю, что у одной или нескольких ваших раскадровки нет точки входа, обязательно проверьте их все. вы можете проверить официальный документ здесь entry point for storyboard

Смежные вопросы