2009-02-26 7 views
2

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

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

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

Спасибо!

ответ

4

То, о чем вы просите, по существу;

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

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

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

0

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

po [textField text]