将数据从标签栏控制器传递到 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)
}
}
我想使用 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)
}
}