2013-07-08 3 views
0

В настоящее время у меня есть контроллер табличного представления, заполненный данными.Передача данных между контроллерами представления в IOS

Этот контроллер таблицы отображает контроллер отображения, который отображает информацию с выбранными данными.

Я использовал команду prepareForSegue для отправки выбранных данных на следующий контроллер представления.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ 
    if ([[segue identifier] isEqualToString:@"showInfo"]) { 


     NSManagedObject *selectedData = [self.datas objectAtIndex:[[self.tableView indexPathForSelectedRow] row]]; 
     DisplayInfoViewController *destViewController = segue.destinationViewController; 
     destViewController.data = selectedData; 
    } 
} 

Моя проблема заключается в том, что теперь я добавил еще один контроллер представления (Display Дополнительная информация Просмотр контроллера) после этого вида контроллера.

tableVC> DisplayVC> DisplayMoreInfoVC

У меня возникают проблемы, проходящие одни и те же выбранные данные в следующий контроллер представления, как мой первый prepareForSegue получает выбранные данные из выбранной строки таблицы, которые я не могу получить доступ в DisplayVC ,

Любые идеи?

+0

Я не получить его, если у вас есть все ваши данные в DisplayVC (потому что вы перешли от tableVC), почему вы просто не передаете его из DisplayVC в DisplayMoreInfoVC? – Pach

+0

Я пытался это сделать, но поскольку я новичок в разработке iOS, он просто не работает. Я не могу видеть, что я делаю неправильно. – user2512523

+0

NSManagedObject * selectedData = [self.database ** getdatapassedpreviously * *]; DisplayMoreInfoViewController * destViewController = segue.destinationViewController; destViewController.data = selectedData; Это код, в котором я сейчас работаю ... – user2512523

ответ

0

Почему вы запрашиваете базу данных в dispayVC Передаете ли вы те же данные, которые вы получили от tableVC, в DisplayMoreInfoViewController? Если да, то вы можете просто сделать

DisplayMoreInfoViewController *destViewController = segue.destinationViewController; 
destViewController.data = self.data 

Если различны, exlplain немного укусить более что

[self.database getdatapassedpreviously]; 
+0

Я пытался это сделать, но дал мне исключение ... по какой-то причине он теперь работает: S Спасибо – user2512523

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