2010-06-12 2 views
0

Привет Я использую контроллер навигации в приложении для iPhone. Я могу передавать данные вперед, когда я нажимаю контроллер в стек навигации, но как я могу передать данные назад, когда я выхожу из контроллера.Obj-C: Передача параметров из элемента detailViewController в контроллере навигации

То, что я в основном пытаюсь достичь, - это представление корневого навигационного контроллера, отображающее ряд полей, которые можно редактировать. Затем пользователь нажимает на одно из полей для редактирования и EditViewController помещается в стек с именем поля, которое пользователь хочет редактировать. Теперь пользователи вводят новое значение поля и нажимают кнопку «Сохранить», чтобы вызвать контроллер вида. Итак, как мне получить значение от editViewController обратно к корневому навигационному контроллеру?

ответ

0

Там есть несколько подходов:

  • Когда подталкивая EditViewController, передать ему указатель на значение, которое будет изменено, не само значение. Таким образом, контроллер может изменить значение через указатель до его выталкивания.
  • Внедрите делегацию, где ваш контроллер корневого представления реализует протокол EditViewControllerDelegate. Если он затем передается как параметр в EditViewController, то EditViewController может вызвать соответствующие методы делегирования, чтобы сообщить контроллеру корневого представления о любых изменениях.

Первый простейший, второй - более гибкий.

+0

Делегация звучит интересно. Я постараюсь это реализовать. благодаря – Garfield81

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