代码之家  ›  专栏  ›  技术社区  ›  user391986

iPhone SDK-对象间通信

  •  1
  • user391986  · 技术社区  · 16 年前

    在下面的应用程序中,您可以看到我当前启动应用程序的设置,具体取决于用户是否登录,不同的uiviewcontroller被添加为主应用程序的子视图[窗口addsubview:[loggedoutcontroller视图]]; 我的问题是在-view1(登录屏幕)中,一旦用户尝试登录并成功,如何返回到根级别的主应用程序,而不是现在加载loggedout uiviewcontroller,而是加载到loggedin uiviewcontroller?我不清楚如何交流Accross。

    MainApplication
        - UIViewController (Logged Out)
            -UINavController
                -View1 (Login Screen)
                    -View1a (Register Screen)
        - UIViewController (Logged In) 
            -UITabBarController
                -View1 (Settings)
                    -UINavController (Handle edit Profile Settings)
                        - View 1
                            -View 1a
                            -View 1b
                            -View 1c
                -View2
    
    1 回复  |  直到 16 年前
        1
  •  2
  •   B_.    16 年前

    我相信有很多方法可以做到这一点。在视图之间传递信息的一种方法是设置委托对象。例如,在Loginscreen中创建一个MainViewController委托对象,一旦成功登录,就可以调用 [delegate onSuccessfulLogin] 将弹出视图堆栈并运行loggedin视图控制器。