将数据从标签栏控制器传递到 swift 和 xcode 中的视图控制器

pass data from tabbar controller to view controller in swift and xcode

我想使用 class 将数据从视图控制器传递到选项卡栏控制器,然后从这个选项卡栏控制器传递到它的视图控制器。我使用 segue 成功地从视图控制器转移到标签栏控制器。但是,我无法将数据从标签栏控制器传输到它的视图控制器之一。

任何 idea/documentation 将不胜感激。这是关于 xcode 我想做的事情的截图 screenshot-xcode

查看选项卡栏控制器的 documentation,特别是 viewControllers 属性。

属性 是 UIViewController 的数组,按照它们在标签栏中出现的顺序排列,因此您可以从屏幕截图中选择您需要的一个(viewControllers[0] ), 将其转换为您的特定视图控制器子类,然后将您的数据传递给它。

终于解决了问题,多谢。下面为我​​这样的初学者详细讲解:

这是源控制器 class,它是一个标签栏控制器,它传输数据:

class SourceTC: UITabBarController {

    var dataTransferFrom = "transfer this string"

    override func viewDidLoad() {
        super.viewDidLoad()

        let finalVC = self.viewControllers![0] as! DestinationVC //first view controller in the tabbar
        finalVC.dataTransferTo = dataTransferFrom

    }

}

这是目标控制器class,它是标签栏控制器下的视图控制器,它获取传输的数据:

class DestinationVC: UIViewController {

    var dataTransferTo = ""

    override func viewDidLoad() {
        super.viewDidLoad()

        print(dataTransferTo)

    }
}