Ios 如何使用Swift中的TabBarController在两个ViewController之间传递数据

Ios 如何使用Swift中的TabBarController在两个ViewController之间传递数据,ios,swift,uitabbarcontroller,viewcontroller,Ios,Swift,Uitabbarcontroller,Viewcontroller,我有一个选项卡栏类(附加到我的选项卡栏控制器),如下所示: class CaptionTabBarController: UITabBarController, UITabBarControllerDelegate { func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) { var logView =

我有一个选项卡栏类(附加到我的选项卡栏控制器),如下所示:

class CaptionTabBarController: UITabBarController, UITabBarControllerDelegate {

  func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
    var logView = self.viewControllers![2] as CaptionsController
    logView.log.append("test working!")
  }

  override func awakeFromNib() {
    self.delegate = self;
  }
}

我的接收视图控制器如下所示:

class CaptionsController: UIViewController {

 @IBOutlet weak var captionSearchBar: UISearchBar!
 @IBOutlet weak var captionsTitle: UILabel!
 var receiveImage:UIImage!
 var receiveCategoryText:String!
 var log = [String]()

 override func viewDidAppear(animated: Bool) {
  super.viewDidAppear(animated)
  println(log)
 }
}

当我在
CaptionTabBarController
中显式设置
logView.log
时,这种方法就可以工作了

我在输出窗口中得到的结果与预期一致。我单击的每个选项卡项都会将“测试工作!”添加到数组中

我的问题是:

如何使用我正在使用的
tabBarController
方法从另一个viewcontroller类获取到
captioncontroller
的值?


这个视图是tabbar本身“子”的一部分,所以我假设它已经有了一个实例。我找到的所有示例都只是说明了这一点,但没有说明如何从另一个类获取数据。

想要传递数据的
UIViewController
可以将其存储在
AppDelegate
类中。然后,
UITabBarController
委托方法可以将其拔出并在接收
UIViewController
上设置属性


此外,假设您的应用程序基于选项卡控制器,您的AppDelegate可以通过
window?.rootViewController作为UITabBarController找到它。我正试图接受swift中的一些基本概念,因为我刚刚开始在这样的环境中开发(没有objective-c经验)。我不完全确定如何使用
AppDelegate
类,以及如何在
UITabBarController
@fred02138中实现更多详细信息?