【问题标题】:Passing message from root view controller to another view controller将消息从根视图控制器传递到另一个视图控制器
【发布时间】:2011-10-26 16:56:42
【问题描述】:

我有一个导航根视图控制器,我正在将它推送到另一个视图控制器。

视图控制器将根据在根视图控制器中按下的按钮来确定第三个推送的控制器。基于此,如何通过委托从根视图控制器向第二个视图控制器 2 发送消息,说明按钮 1 或按钮 2 已被按下?

【问题讨论】:

    标签: ios cocoa-touch uiviewcontroller


    【解决方案1】:

    如果差异是应用程序状态的变化,请在应用程序委托上创建一个属性,或创建一个管理器类来处理应用程序状态。设置属性/在您触摸根视图控制器中的按钮时通知经理,然后在您的第三个视图控制器加载时检查此值。

    如果差异仅仅是导航到应用程序的不同区域,请在第二个视图控制器和第三个视图控制器上创建一个属性。当您触摸根视图控制器中的按钮时,在第二个视图控制器上设置属性。当您从第二个视图控制器导航到第三个视图控制器时,请先在第三个视图控制器上设置属性,然后再将其压入堆栈。

    【讨论】:

    • Jim,我得到了一个概念,即创建一个诸如 BOOL 之类的属性,并检查一个或另一个,我没有得到的是如何将消息从 rootviewController 发送到Viewcontroller 2 属性将其设置为“1”或“0”。
    • 当你的按钮被按下时,你是在创建并推动第二个视图控制器吗?您可以在创建后和推送之前在第二个视图控制器上设置属性。
    • 啊,有道理..如果我想通过代表采取另一条路线,有没有办法这样做?
    • 在这种情况下您希望如何使用委托?
    • 好吧,我的 rootViewController 是我的第一个导航控制器堆栈,它在我的 appdelegate 上设置。也许我可以在那里为导航控制器的委托创建一个属性,并设置并从不同的控制器获取消息?我猜这只会让事情更加集中,而不是与一个控制器绑定。
    猜你喜欢
    • 2020-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多