2016-11-28 114 views
0

我在處理我的項目時遇到了一個奇怪的問題。 (請耐心等待,我是Swift初學者。)無法將數據從一個視圖控制器推送到一個表視圖控制器

這是我的故事板看起來像迄今爲止。 On the left is my regular view controller, and on the right is the TableViewController. the transition inbetween has a specific ID.

**This is the first View Controller.** 

class TestsMenuViewController: UIViewController { 
var tests = [Test]() 
var testTableViewController : TestsTableViewController? 


override func viewDidLoad() { 
    self.tests = DataModel().patientData 
    //this just populates the array with some data. 
    super.viewDidLoad() 
} 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "testTableTransition" { 
     testTableViewController = segue.destination as? TestsTableViewController 
     testTableViewController?.tests = self.tests 
     print(testTableViewController?.tests[0].testDescription) 
     //somehow this is an empty array 
    } 
} 

莫名其妙的測試序列不會被傳遞到下一個控制器:(我究竟做錯了什麼?

+0

'打印(self.tests)'你prepareForSegue方法和檢查它是否有任何價值 – Rajat

+0

它什麼都沒有返回。如果我在viewdidload中打印語句,那麼它會給我一些價值。但是,如果我在準備segue方法時執行相同的打印語句,它將不會返回任何內容:/ – Misha

+0

您確定您在這裏獲得值'self.tests = DataModel()。patientData'? – Rajat

回答

0

嘿,我設法解決我的問題,我只是做了初始化,我傳遞給TableViewController直接在屬性的數據,然後它的工作!

0

您可以將數據保存爲和NSUserDefaults的時所保存的數據調用視圖你要

相關問題