Сохранение содержимого UITextField перед всплывающими окнами

Я уверен, что это есть в документации Apple или, должно быть, где-то на этом форуме был дан ответ, поскольку он кажется таким простым, но я не смог найти ни этого, ни особенно элегантного решения.

У меня есть UIViewController, который помещает представление редактирования в свой стек навигации. В режиме редактирования есть несколько полей UITextFields. Если один из них редактируется при нажатии кнопки «Назад», исходный вид '

[...] Вход в представление появится для основного представления
[...] Редактирование объекта
[...] В поле зренияБудет исчезнуть
[...] - Мы не в стеке контроллеров ... нажата кнопка "Назад"
[...] Вход в представление появится для основного вида
[...] В textFieldShouldEndEditing
[...] В textFieldEditingEnded
[...] В textFieldDidEndEditing

я хочу установить self.editedObject.name = nameField.text до того, как метка будет установлена ​​в viewWillAppear для UIViewController.

Я думал о методе viewWillDisappear для EditViewController, проверяющего, является ли какое-либо из моих текстовых полей в настоящее время первым респондентом, и, если да, получение их текста и его сохранение, но это похоже на такую ​​путаницу, с которой будет больно поддерживать, если я добавляю или изменяю текстовые поля.

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

Все, что мне нужно, - это завершить редактирование или знать, что редактирование будет завершено до вызова viewWillAppear в UIViewController, чтобы nameFieldLabel был правильно установлен.

13
задан LavaSlider 31 October 2010 в 03:54
поделиться