2017-06-02 71 views
0

我有一個視圖控制器,裏面有一個名稱輸入文本框。我想能夠從我的主視圖控制器拉出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] 
    } 
} 

這是我的主頁上,試圖從拉數據我的第二個看法。

任何想法或建議都會很棒。

謝謝

回答

0

這是一個常見的時間問題。

prepareForSegue目標視圖控制器的視圖尚未加載,因此所有IBOutlet尚未連接(又名不可用)。

您只能訪問初始化後可用的數據。

但是,通常您將數據從源控制器傳遞到目標控制器,而不是相反。

+0

啊!這解釋了很多,謝謝。我不認爲你有更好的方法來處理這個問題有什麼建議嗎? – Kayleigh

+0

如果您確實想要*拉*數據,那麼您可以使用回調閉包,以防* push *數據需要聲明一個臨時變量並在其'viewDidLoad()'方法中更新目標控制器的UI元素。 – vadian

相關問題