UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
AllListsViewController *controller = navigationController.viewControllers[0];
controller.dataModel = _dataModel;
Это мой прежний код. Я могу получить доступ к AllListsViewController через navigationController, так как это rootViewController.Как получить доступ к UINavigationController (созданному в раскадровке) в AppDelegate.m
Но теперь моя раскадровка изменилась. Я попытался получить доступ к контроллеру таким же образом, но это не сработало.
SWRevealViewController *revealViewController = (SWRevealViewController *)self.window.rootViewController;
UINavigationController *navigationController = (UINavigationController *)revealViewController.frontViewController;
AllListsViewController *controller = navigationController.viewControllers[0];
controller.dataModel = _dataModel;
Может быть, это потому, что я поставил frontViewController в раскадровке так что revealViewController.frontViewController равна нулю. Но я не знаю других способов доступа к нему из AppDelegate.m.
Извините, что не могу опубликовать изображения из-за моей репутации. Вот мой код. https://github.com/liukaiyi54/CheckList
Кто-нибудь мне помогает. Меня это пытали в течение нескольких дней.
Заранее благодарен!
использования раскадровки ID и вызвать ваш контроллер представления на основе раскадровки ID –
@ Г-н Т работает нормально. Спасибо. –