图片只是一个例子......
所以基本上我想将数据从 RED 传递到 BLUE 但是我必须通过 GREEN ..有没有办法去将数据直接传递给 BLUE ,而不必通过 GREEN ?
我现在正在做的是传统方法将数据传递给 GREEN 然后让 GREEN 读取并通过它在 BLUE
但我的应用程序有很多ViewControllers
,我希望能够直接将它传递到最后一页( BLUE 页面)是否有办法?对不起,我是Swift的新手
答案 0 :(得分:1)
如果你尝试将数据从_Red传递到_Blue,而没有_Green - 它关于糟糕的架构,因为如果app的逻辑发生了变化,你需要改变控制器的流量 - 你会感到很头疼......
您可以将数据包装在对象中并通过,或者您可以DataController
管理您的数据,ViewController's
将get\set
Datacontroller
{{1}}接口
答案 1 :(得分:0)
使用简单的swift类,例如 Sharedclass 来设置变量,然后从相同的 Sharedclass 中获取变量的值。示例如下:
SharedClass.sharedInstance.phoneNumber = "123456"
设置变量
BLUEViewController.phoneNumber = SharedClass.sharedInstance.phoneNumber
获取变量
mysql -h 192.168.1.3 -u username -p
答案 2 :(得分:0)
您可以将navigationController直接推送到其中一个viewControllers。试试这个;
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let blueController = storyboard.instantiateViewController(withIdentifier: "BlueViewController") as? BluewViewController {
blueController.passedData = passedData
navigationController?.pushViewController(blueController, animated: true)
}
或者您也可以展示它。而不是推入导航控制器。
let storyboard = UIStoryboard(name: "Main", bundle: nil)
if let blueController = storyboard.instantiateViewController(withIdentifier: "BlueViewController") as? BluewViewController {
blueController.passedData = passedData
present(blueController, animated: true, completion: nil)
}