Мне весело с целью c.Как простая программа, я хотел написать приложение для часов.
По сути, UITextField должен показывать текущее время и обновлять каждую секунду.
Сначала я хотел использовать делегирование и позволить UITextField вызыватьназад класс, когда происходит событие «Значение изменено».«Начав загрузку» с изменения начального значения (например, установив время при запуске приложения), я подумал, что впоследствии смогу непрерывно вызывать событие «Значение изменено» (UITextField будет постоянно меняться сам, следовательно, вызывая метод делегата).Я перепробовал много вещей, но это никогда не работало.Я даже пытался создать кнопку, которая установила бы для UITextField произвольное текстовое значение (в отличие от установки UITextField при запуске) в надежде, что будет вызван делегированный метод, но и этого не произошло.Чтобы доказать, что мой код был верным, время было обновлено, когда я использовал другие действия, такие как «Touch Down», например: я получал время на каждом клике в UITextField.
В конце концов я обнаружил, чтоя мог бы использовать обратный вызов каждую секунду, используя [self executeSelector ...], и это сработало.
Есть ли фундаментальная причина, по которой моя делегация, использующая действие 'Value Changed', никогда не работала?