2015-09-18 2 views
0

У меня есть 2 вида в моей раскадровке.
Один из них - defualt view подключен к ViewController. Я буду называть его VC.
Другой вид, который я создал, перетащив на раскадровку UITalbeViewController. Он подключен (через пользовательский класс) к новому классу касания какао, MyTVC. Я назову его TVC.
Я подключил кнопку на VC до TVC через segue.Как подключиться к UITableViewController

Проблема в том, что у меня есть массив в ViewController, и я не могу передать его на экземпляр MyTVC, который заполняет вид TVC.

Если я просто создаю экземпляр MyTVC в моем ViewController.m, он не подключен к TVC. Как я могу получить доступ к экземпляру MyTVC, который уже подключен к представлению TVC?

ответ

1

В классе VC вам необходимо реализовать метод prepareForSegue. Этот метод может получить указатель на TVC, который вы можете использовать для передачи информации от VC до TVC.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"ShowTable"]) 
    { 
     MyTVC *tvc = segue.destinationViewController; 
     tvc.arrayForTable = self.arrayForTable; 
    } 
} 

Обратите внимание, что идентификатор segue представляет собой строку, которую вы назначаете segue в раскадровке. Вам действительно не нужно проверять идентификатор segue, если у вас есть только один сеанс.

+0

Большое вам спасибо! Но, возможно, вы хотите заключить оператор if в скобки, а также изменить его на 'MyTVC * tvc'? – octref

+0

К сожалению, вы правы, я просто набрал его здесь, должен был сначала ввести его в Xcode :) – user3386109

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