我正在构建一个包含两个标签的简单应用。 “白噪声”选项卡和“日志”选项卡。当播放或停止白噪声时,我会记录此数据以显示播放或停止声音的日期和时间。我唯一的问题是当我点击“日志”选项卡时,我无法弄清楚如何传递log
数组。我尝试在“白噪声”选项卡中使用以下代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var logView = segue.destinationViewController as SecondViewController
logView.log.append("Testing 123")
}
但我已经意识到,使用标签栏控制器,从一个视图控制器到另一个视图控制器的转换在技术上不是segue
。所以我的问题是如何使用Tab Bar Controller在View Controllers之间传递数据?
更新
我创建了一个名为CustomTabBarControllerClass
的新类。这是我的这个类的代码:
class CustomTabBarControllerClass: UITabBarController, UITabBarControllerDelegate {
func tabBarController(tabBarController: UITabBarController, didSelectViewController viewController: UIViewController) {
println("Test 123!")
}
}
我在Interface Builder中将CustomTabBarControllerClass
设置为“自定义类”。但是,当我切换标签时,println("Test 123!")
仍然没有显示在控制台中。
答案 0 :(得分:0)
UITabBarController
有一个委托,其中有一个方法
tabBarController:didSelectViewController:
,您可以使用它来完成您正在寻找的内容。
可以找到Apple的文档here