/ / як обмінюватися даними між переглядами з iphone-навігаційним контролером - iphone, object-c, cocoa-touch

як ділитися даними між переглядами за допомогою навігаційного контролера iphone - iphone, object-c, какао-дотик

У мене є вид, який отримує дані зМасив та представлення даних у таблиці. У цьому вікні є навігаційний контролер з кнопкою в ньому. Кнопка призначена для переходу до іншого виду для розширеного пошуку. Скажімо, що у цьому новому вікні у мене є вибирач, коли користувач вибирає значення з вибору та натискає кнопку "Назад" на панелі навігації, я хочу отримати значення, яке обрав користувач. Що найкраще робити? Як я можу надіслати вибране значення з однієї діяльності до попереднього?

Заздалегідь спасибі.

Відповіді:

0 для відповіді № 1

Що вам тут потрібно, це трохи міркувати з точки зору Модель-View-Controller шаблон дизайну.

Перегляди повинні отримувати свої дані через модель. Тож у вашому перегляді розширеного пошуку, коли користувач вибирає якесь значення, це значення зберігається у моделі.

Коли ви повертаєтесь назад, перший погляд перемальовується, читаючи поточне значення пошуку з моделі.

Є й інші можливості, такі як наявністьКонтролер перегляду пошуку має вказівник на перший вид і надсилає йому повідомлення, коли значення пошуку змінюється, але це не дуже модульно і є досить крихким.


0 для відповіді № 2

Використовуйте делегацію. Напишіть власний протокол на зразок "PickerViewDelegate". потім реалізуйте цей протокол у своєму "головному вікні" (який має подання таблиці). у PickerView просто викликайте [делегувати щосьВибране: щось].

Я не впевнений, що значення пошуку є модельною сутністю.