2016-09-29 7 views
0

Проблема: Я пытаюсь получить дескриптор навигации контроллера в моем ViewController, но он всегда возвращает ноль, ниже мой кодself.navigationController всегда возвращает ноль с помощью раскадровки Раскадровки навигации

Иерархия: AppDelegate -> MainStoryboard -> нав Drawer -> TestingStoryboard -> тестирование

с навигацией полки я открыть ViewControl, как показано ниже:

self.openNewStoryBoard(storyBoard: "testingone", scene: "initial") 
func openNewStoryBoard(storyBoard:String, scene:String){ 
    let storyboard = UIStoryboard(name: storyBoard, bundle: nil) 
    let controller = storyboard.instantiateViewController(withIdentifier: scene) as UIViewController 
    self.present(controller, animated: true, completion: nil) 

} 

у меня есть navigationcontroller в моем «testingone» раскадровки, которая соединяется с viewContorller «initial» через отношение - «контроллер корневого представления» на «viewController», связала это с классом testtingone

В классе codeOffice я пытаюсь получить дескриптор navigationcontroller, как показано ниже:

self.rootNav = self.navigationController! 

Но это всегда заканчивается нулевым

ответ

0

напрямую представляя ваш контроллер представления, вы обходите навигационный контроллер вместе. Вот почему вы получаете nil при звонке self.navigationController. Вместо этого вы должны представить свой контроллер навигации.

Чтобы сделать это, на панели рассказов просто установите идентификатор раскадровки навигационного контроллера на initial вместо контроллера вида.

+0

Я пропустил это полностью спасибо большое – Wills

+0

Добро пожаловать :) –

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