本文介绍了Swift:使用导航控制器prepareForSegue的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在Swift中开发一个iOS应用程序。
I am developing an iOS application in Swift.
我想使用prepareForSegue函数将视图中的数据发送到另一个。
I want to send data from a view to an other one, using the prepareForSegue function.
但是,我的目标视图前面有一个导航控制器,所以它不起作用。
However, my target view is preceded by a navigation controller, so it doesn't work.
我该怎么办呢?
推荐答案
在 prepareForSegue
中访问目标导航控制器,然后是顶部:
In prepareForSegue
access the target navigation controller, and then its top:
let destinationNavigationController = segue.destination as! UINavigationController
let targetController = destinationNavigationController.topViewController
从目标控制器中,您可以访问其视图和传递数据。
From the target controller you can access its view and pass data.
在旧的 - 现在已经过时 - 版本的Swift和UIKit中,代码略有不同:
In old - now obsolete - versions of Swift and UIKit the code was slightly different:
let destinationNavigationController = segue.destinationViewController as UINavigationController
let targetController = destinationNavigationController.topViewController
这篇关于Swift:使用导航控制器prepareForSegue的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!