无法在视图控制器之间拉取数据: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
尚未连接(又名不可用)。
您只能访问初始化后可用的数据。
但是,通常您将数据从源控制器传递到目标控制器,而不是相反。
啊!这解释了很多,谢谢。我不认为你有更好的方法来处理这个问题有什么建议吗? – Kayleigh
如果您确实想要*拉*数据,那么您可以使用回调闭包,以防* push *数据需要声明一个临时变量并在其'viewDidLoad()'方法中更新目标控制器的UI元素。 – vadian