2016-11-28 2 views
0

У меня возникла странная проблема, когда я работал над своим проектом. (Пожалуйста, несите меня, я начинаю начинать.)Невозможно передать данные с одного контроллера вида на контроллер табличного представления

Это то, что сейчас выглядит в моей раскадровке. 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 и вызвать сохраненные данные в виду, когда хочу

Смежные вопросы

 Смежные вопросы