无法在视图控制器之间拉取数据:Swift 3

无法在视图控制器之间拉取数据:Swift 3,swift,xcode,Swift,Xcode,我有一个视图控制器,其中有一个名称输入文本框。我希望能够从我的主视图控制器中提取name.text值,但我正在努力编写代码 对不起,我知道有类似的问题,但我很难理解我的错误所在,以下是我的代码: func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "statsegue" { let statVC = segue.destination a

我有一个视图控制器,其中有一个名称输入文本框。我希望能够从我的主视图控制器中提取name.text值,但我正在努力编写代码

对不起,我知道有类似的问题,但我很难理解我的错误所在,以下是我的代码:

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
     if segue.identifier == "statsegue" {

        let statVC = segue.destination as! SecondViewController

        NameLabelMain.text = statVC.NameDisplayStat.text

       //or try that if above doesn't work: detailsVC.passedString = recipes[indexPath?row]
    }
}
这是在我的主页上,试图从第二个视图中提取数据

任何想法或建议都会很棒


谢谢

这是一个常见的计时问题

prepareforsgue
中,目标视图控制器的视图尚未加载,因此所有
IBOutlet
尚未连接(aka不可用)

您只能访问初始化后立即可用的数据


但是,通常情况下,您将数据从源控制器传递到目标控制器,而不是相反。

Ah!这解释了很多,谢谢。我不认为你有什么更好的方法来处理这个问题?如果你真的想拉取数据,那么你可以使用回调闭包,以防推送数据,你需要声明一个临时变量,并在其
viewDidLoad()
方法中更新目标控制器的UI元素。