У мене є вид, який отримує дані зМасив та представлення даних у таблиці. У цьому вікні є навігаційний контролер з кнопкою в ньому. Кнопка призначена для переходу до іншого виду для розширеного пошуку. Скажімо, що у цьому новому вікні у мене є вибирач, коли користувач вибирає значення з вибору та натискає кнопку "Назад" на панелі навігації, я хочу отримати значення, яке обрав користувач. Що найкраще робити? Як я можу надіслати вибране значення з однієї діяльності до попереднього?
Заздалегідь спасибі.
Відповіді:
0 для відповіді № 1Що вам тут потрібно, це трохи міркувати з точки зору Модель-View-Controller шаблон дизайну.
Перегляди повинні отримувати свої дані через модель. Тож у вашому перегляді розширеного пошуку, коли користувач вибирає якесь значення, це значення зберігається у моделі.
Коли ви повертаєтесь назад, перший погляд перемальовується, читаючи поточне значення пошуку з моделі.
Є й інші можливості, такі як наявністьКонтролер перегляду пошуку має вказівник на перший вид і надсилає йому повідомлення, коли значення пошуку змінюється, але це не дуже модульно і є досить крихким.
0 для відповіді № 2
Використовуйте делегацію. Напишіть власний протокол на зразок "PickerViewDelegate". потім реалізуйте цей протокол у своєму "головному вікні" (який має подання таблиці). у PickerView просто викликайте [делегувати щосьВибране: щось].
Я не впевнений, що значення пошуку є модельною сутністю.