значение self.NavigationController становится нулевым в представлении панели вкладок

#ios4 #uinavigationcontroller #xcode4 #uitabbarcontroller

#ios4 #uinavigationcontroller #xcode4 #uitabbarcontroller

Вопрос:

У меня есть навигационный контроллер в качестве корневого контроллера представления. У меня есть UIView, затем UITableView, затем снова UITableView, затем TabbarView, и каждый из моих tabbarview представляет собой иерархию представлений. Теперь моя проблема в том, что я могу получить значение self.navigationcontroller до последнего UITableView, но значение становится нулевым в TabbarView. Теперь есть ли способ, которым я могу получить доступ к значению в Tabbarview. Должен ли я создавать новый навигационный контроллер для каждой вкладки в tabbarview, а затем присваивать ему значение корневого навигационного контроллера?

Приведенный ниже код не работает, последний контроллер, где я могу получить значение NavigationController, — это AssignmentViewController.

Код из AssignmentViewController:

 - (void)viewDidLoad {

UITransTabViewController *transtvController = [[UITransTabViewController alloc] initWithNibName:@"TransTabViewController" bundle:nil];


    self.transtabViewController = transtvController;        
    transtvController.naviController=self.navigationController;
    [transtvController release];
}
  

В моем UITranTabViewController.h У меня есть приведенный ниже код,

 @interface UITransTabViewController : UIViewController <UITabBarDelegate> {
        NSArray *viewControllers;
        IBOutlet UITabBar *tabBar;
        IBOutlet UITabBarItem *arrivalsTabBarItem;
        IBOutlet UITabBarItem *departuresTabBarItem;
        UIViewController *selectedViewController;   

    UINavigationController *naviController;
}

    @property (nonatomic, retain) NSArray *viewControllers;
    @property (nonatomic, retain) IBOutlet UITabBar *tabBar;
    @property (nonatomic, retain) IBOutlet UITabBarItem *arrivalsTabBarItem;
    @property (nonatomic, retain) IBOutlet UITabBarItem *departuresTabBarItem;
    @property (nonatomic, retain) UIViewController *selectedViewController;

@property (nonatomic, retain) IBOutlet UINavigationController *naviController;
  

Я пытаюсь установить значение naviController из AssignmentViewController, но все равно получаю

 NSLog(@"MY NAV CONTROLLER IN TRANSTABVIEWCONTROLLER IS = %@", self.naviController);
  

значение равно НУЛЮ.

Комментарии:

1. Мой ответ был неправильным, поскольку я предположил, что он вызывался с одного из контроллеров представления в контроллере панели вкладок.

2. Вы уверены, что присваивается правильное значение?

3. Я пытаюсь вывести значение на консоль, и оно выводит его нормально, но я получаю значение null, если пытаюсь вывести его из TransTabViewController. Поэтому я предполагаю, что оно не назначается должным образом. Можете ли вы помочь мне с этим?

4. Как вы загружаетесь transtvController ? Вы вводите его в навигационный контроллер или вы вводите его модально?

5. Я помещаю его в навигационный контроллер. Ниже приведен мой код для этого, [self.NavigationController pushViewController: анимированный self.transtabViewController: ДА];