Трюки для отладки UITextField - PullRequest
       12

Трюки для отладки UITextField

2 голосов
/ 27 февраля 2009

Я отлаживаю некоторый код, и мне трудно видеть и отслеживать значения, вводимые клавиатурой iPhone в UITextField (и из UIDatePicker.)

Я бы ожидал, что аргументы> self> textField> _text будут отражать значение, введенное в textField, но это не так. Это показывает другое значение (например, $ 0,00 вместо $ 1,25). Когда я записываю значение через NSLog (@ "textField.text:% @", textField.text); он показывает правильное значение $ 1,25. Что дает?

Интересно, может ли это быть связано с тем, что UITextField все еще является первым респондентом, а этот код, который я отлаживаю, находится в кнопке «Сохранить», которая нажимается сразу после ввода данных в указанный UITextField? Если это так, остается вопрос, где хранятся эти данные и как их отладить? У меня похожая проблема с UIDatePicker, используемым в аналогичной ситуации для изменения значения UITextField.

Спасибо!

Ответы [ 2 ]

4 голосов
/ 27 февраля 2009

То, что вы спрашиваете, по сути;

Как я могу просмотреть данные закрытого класса в отладчике, чтобы они отражали мои ожидания?

Ответы в основном таковы, что вы не можете. Поле _text может быть обновлено позднее или вообще не использоваться.

Если вам нужен способ отладки того, что было введено в UITextField, вы можете использовать textField: shouldChangeCharactersInRange в делегате для распечатки символов, если они напечатаны.

0 голосов
/ 28 февраля 2009

Отладчик не понимает точечные обозначения (textField.text). Но помните, что свойства - это просто сокращение для вызовов методов - поэтому вызов [textfield text] делает то же самое. Поэтому, если вы хотите увидеть значение текстового поля в отладчике, просто наберите:

po [textField text]
...