【问题标题】:Pass data between third and first view controller在第三个和第一个视图控制器之间传递数据
【发布时间】:2013-07-16 15:41:47
【问题描述】:

我有三个视图控制器,A、B 和 C。
A --modal--> B ---推送 --> C

如何从 C --> A 传递数据?我尝试过使用协议和委托。但是我在 A 中的委托方法永远不会被调用。

【问题讨论】:

  • 您必须发布一些代码,否则没有人可以帮助您。
  • @jszumski:我还没有任何代码。我的问题是理论上的问题。如果 A 没有实例化视图控制器 C,A 如何知道在 C 中创建的数据?
  • 在下面查看我关于使用 NSNotificationCenter 的回答。检查链接以获取详细信息,以确保它能够完成您需要完成的工作。

标签: ios uiviewcontroller delegates


【解决方案1】:

您可以通过使用NSNotificationCenter 来执行此操作,请参阅this post,我遇到了类似的问题。这个问题可能并不完全适用,但答案为您提供了一个可能的解决方案。另请阅读here 了解更多数据。

【讨论】:

    【解决方案2】:

    或者您可以使用您的 AppDelegate 保存 A 的引用,然后从那里开始工作。

    【讨论】:

      【解决方案3】:

      您可以在会话中存储数据(创建单例对象)并随心所欲地访问它

      @interface Session : NSObject
      
      +(Session*) session;
      
      @property (nonatomic) id data_to_access;
      
      @end
      
      @implementation Session
      +(Session *)session
      {
          static Session *sharedSingleton;
      
          @synchronized(self)
          {
              if (!sharedSingleton)
                  sharedSingleton = [[Session alloc] init];
      
              return sharedSingleton;
          }
      }
      @end
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-12
        • 1970-01-01
        • 2016-08-26
        • 1970-01-01
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多