2015-10-17 43 views
0

我的應用程序一旦用戶成功登錄。我會調用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

你可能創造HomeViewController的兩個實例。第二個可以通過側面菜單或導航創建。另外,當你在控制檯的HomeScreenViewController的viewDidLoad和「po self」中放置一個斷點時,你會得到什麼?你有兩次相同的描述嗎? – antonio

+0

是的。我得到這兩次。如何解決這個問題? – Lokesh

回答

0

我在SideMenu容器加入家庭和側菜單視圖控制器兩次。

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

一旦我刪除了下面的代碼,現在工作得很好....

[container setLeftMenuViewController:sideMenuVC]; 
[container setCenterViewController:navigationController];