пример для передачи / совместного использования данных из ListView в контроллер EditView? (в макете UINavigationController) - PullRequest
0 голосов
/ 23 февраля 2011

Предполагается, что у меня есть проект, который:

  • с использованием UINavigationController, который имеет (a) главный экран - список элементов и (b) экран редактирования для элемента
  • У меня есть экземпляр UINavigationController в ApplicationDelegate
  • Имеют два отдельных контроллера пользовательского интерфейса с NIB для экрана списка и экрана редактирования (т.е. добавили UIViewController с файлом XIB)
  • Список элементов хранится в ListScreen UIViewController (например, NSArray объектов данных говорит)

Вопрос. Мне все еще не ясно, как инициировать / реализовать передачу обслуживания от ListScreen (после того, как пользователь щелкнет строку) на Edit / DetailsScreen с точки зрения того, как передавать / совместно использовать элемент данных, т.е. что в EditScreen он может обновлять данные, а затем, когда контроллер Edit извлекается из стека UINavigationController, экран списка обновляется.

Может кто-нибудь помочь с некоторыми комментариями о том, как это сделать, и / или указателем на некоторый пример кода, который продемонстрирует, как это сделать.

1 Ответ

1 голос
/ 23 февраля 2011

В вашем подробном представлении (я собираю из вашего поста, что вы хотите иметь подробный экран, где вы можете просматривать и редактировать элемент) вы реализуете свойство для вашего отдельного объекта, каким бы оно ни было.

@property (nonatomic, retain) Item *item;

Затем в вашем didSelectRowAtIndexPath: методе ListController вы установите это свойство.

detailVC.item = [items objectAtIndex:indexPath.row];

РЕДАКТИРОВАТЬ: чтобы убедиться, что ваш listView обновлен, когда контроллер модального представления закрывается, вам необходимо выполнить перезагрузку в viewWillAppear: в ListViewController. Это может быть так же просто, как [self.tableView reloadData], если ваша поддержка представляет собой простой массив.

...