2015-10-17 5 views
0

I мое приложение после успешного входа пользователя в систему. Я вышлю уведомление HOME, после чего в HomeViewController ViewDidLoad вызывается два раза. Может ли кто-нибудь помочь в этом?ViewDidLoad Вызывается два раза

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    {  
     //-- Notification Observer 
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(HomeNotification:)name:@"HOME"object:nil]; 

     return YES; 
    } 

    #pragma mark - Sidemenu & Home 
    - (void)HomeNotification:(NSNotification *) notification 
    { 
     UIStoryboard *sideMenuSB = [UIStoryboard storyboardWithName:SB_SideMenu bundle:[NSBundle mainBundle]]; 
     SideMenuViewCntrl *sideMenuVC = [sideMenuSB instantiateViewControllerWithIdentifier:VC_SideMenu]; 

     UIStoryboard *HomeSB = [UIStoryboard storyboardWithName:SB_Home bundle:[NSBundle mainBundle]]; 
     HomeViewController *homeVC = [HomeSB instantiateViewControllerWithIdentifier:VC_Home]; 
     UINavigationController *navigationController = [HomeSB instantiateViewControllerWithIdentifier:@"navigationController"]; 

     MFSideMenuContainerViewController *container = nil; 
     if ([[notification name] isEqualToString:@"HOME"]) 
     { 
      container = [MFSideMenuContainerViewController containerWithCenterViewController:homeVC leftMenuViewController:sideMenuVC rightMenuViewController:nil]; 
     } 

Adding view to window will call viewdidload multiple times? 
     [container setLeftMenuViewController:sideMenuVC]; 
     [container setCenterViewController:navigationController]; 
     self.window.backgroundColor = [UIColor blackColor]; 
     self.window.rootViewController = container; 
     [self.window makeKeyAndVisible]; 
    } 
+0

Вы, возможно создание 2 экземпляра HomeViewController. Второй может быть создан боковым меню или навигацией. Кроме того, что вы получаете, когда ставите точку останова в viewDidLoad HomeScreenViewController и «po self» в консоли? Вы получаете одно и то же описание дважды? – antonio

+0

Да. Я получаю это дважды. Как это исправить? – Lokesh

ответ

0

Я добавил контроллер управления видом на дом и сторону два раза в контейнере SideMenu.

container = [MFSideMenuContainerViewController containerWithCenterViewController:homeVC leftMenuViewController:sideMenuVC rightMenuViewController:nil]; 

После того, как я удалил код ниже, теперь он работает нормально ....

[container setLeftMenuViewController:sideMenuVC]; 
[container setCenterViewController:navigationController]; 
Смежные вопросы