У меня есть многопроцессорный процесс, в который пользователь вводит данные, и я сохраняю его до свойств класса модели каждый шаг на этом пути.textFieldDidEndEditing сжигание «слишком поздно»
Я использую textFieldDidEndEditing
, чтобы проверить, является ли вход действительным, и если да, сохраняет введенные данные.
В представлении у меня есть событие continueButtonClicked, которое проверяет, проходят ли все проверки и загружает ли это следующее представление. Я НЕ устанавливаю свойства модели здесь, потому что я думаю, что мне не нужно, поскольку каждое поле сохраняется в поле модели 1 за раз. Однако я заметил некоторые проблемы.
Если пользователь находится внутри текстового поля и нажимает кнопку «Продолжить», событие continueButtonClicked запускается до textFieldDidEndEditing
. Что происходит, так это то, что следующее представление заполняется «старой» моделью до того, как произойдет спасение в textFieldDidEndEditing
.
Что мне не хватает? Правильно ли устанавливать все свойства в Continue? Вот как я это сделал бы, если бы я программировал для Интернета, но это не похоже на родное приложение.
Awesome! Кажется, это решило проблему. Я немного смущен, почему textFieldShouldEndEditing срабатывает дважды: один раз перед поля continueButtonClick for ALL и второй раз для активного поля после возникновения события continueButtonClick. Это кажется безобидным, но просто любопытным. – jaySF
Если это активный, который вы действительно хотите, вы всегда можете определить это, тестируя, если это первый ответчик. – mbh