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

问题描述:

我有一个视图控制器,里面有一个名称输入文本框。我想能够从我的主视图控制器拉出name.text值,但我正在努力与代码。无法在视图控制器之间拉取数据:Swift 3

对不起,我知道有类似的问题,我在努力明白的地方我错了,虽然,这里是我的代码:

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] 
    } 
} 

这是我的主页上,试图从拉数据我的第二个看法。

任何想法或建议都会很棒。

谢谢

这是一个常见的时间问题。

prepareForSegue目标视图控制器的视图尚未加载,因此所有IBOutlet尚未连接(又名不可用)。

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

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

+0

啊!这解释了很多,谢谢。我不认为你有更好的方法来处理这个问题有什么建议吗? – Kayleigh

+0

如果您确实想要*拉*数据,那么您可以使用回调闭包,以防* push *数据需要声明一个临时变量并在其'viewDidLoad()'方法中更新目标控制器的UI元素。 – vadian