我想使用他们的类将数据从视图控制器传递到标签栏控制器,然后从这个标签栏控制器传递到它的视图控制器。我成功地使用 segue 从视图控制器转移到标签栏控制器。但是,我无法将数据从选项卡栏控制器传输到其视图控制器之一。
任何想法/文档将不胜感激。这是关于我想从xcode做什么的屏幕截图 截图-xcode
查看选项卡栏控制器的文档,特别是viewControllers
属性。
该属性是UIViewController
的数组,按照它们在选项卡栏中出现的顺序排列,因此您可以选择所需的属性(viewControllers[0]
从屏幕截图中(,将其强制转换为特定的视图控制器子类,然后向其传递您的数据。
终于,我能够解决问题,非常感谢答案。以下是像我这样的初学者的详细解释:
这是源控制器类,它是一个选项卡栏控制器,它传输数据:
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 DestinationVC: UIViewController {
var dataTransferTo = ""
override func viewDidLoad() {
super.viewDidLoad()
print(dataTransferTo)
}
}