2012-04-17 6 views
0

Это, вероятно, основной вопрос, хотя я не мог найти четкого ответа. (Я новичок в iOS).Как передать массив через segue в tableviewcontroller

Это быстрая схема моей раскадровки: navigationcontroller -> detailviewcontroller -> tableviewcontroller

Мой detailviewcontroller имеет 3 кнопки. При нажатии они анализируют xml с сервера и помещают элементы в массив (называемые файлами). (выше до здесь все хорошо работает). Таким образом, в то время как массив создается, подробное представление переходит к контроллеру tableview.

Теперь мой вопрос: как передать массив, который был создан за этот сеанс, поэтому я могу использовать его в классе tableviewcontroller для назначения значений строкам? (Я знаю, как назначить их, но я не знаю, как передать массив по Segue)

Так скажем, у меня есть этот код:

if ([segue.identifier isEqualToString:@"pdfSeg"]) { 

    NSMutableArray *pdfArray = [[NSMutableArray alloc]initWithArray:xmlParser.files]; 

    UITableViewController *tvc = [segue destinationViewController];} 

Как рассказать SEGUE отправить pdfArray, чтобы я мог заполнить строки файлами PDF?

Большое спасибо.

ответ

3

Рассмотрите массив как модель контроллера. Передайте его как собственность. Кроме того, вы действительно хотите передать изменяемый массив? Вы просто передаете информацию, или вы ожидаете, что контроллер будет управлять изменениями в массиве?

Таким образом, вы добавляете свойство ...

Изнутри интерфейса DestinationViewController, добавьте свойство ...

@property (nonatomic, strong) NSMutableArray *pdfArray; 

Синтезировать его реализации ...

@synthesize pdfArray = _pdfArray; 

Затем предоставите собственность изнутри готовой системы ...

tvc.pdfArray = pdfArray; 
+0

Я добавил свойство в свой reciever segue, но получаю ошибку - свойство не найдено на объекте типа UIViewController. –

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