试图调试UITextField

时间:2009-02-26 23:29:43

标签: iphone cocoa cocoa-touch uitextfield

我正在调试一些代码,发现很难看到&跟踪iPhone键盘输入的值到UITextField(以及UIDatePicker)。

我希望Arguments> self> textField> _text能够反映输入到textField中的值,但事实并非如此。它显示了一个不同的值(例如0.00美元而不是1.25美元)。当我通过NSLog(@“textField.text:%@”,textField.text)写出值时;它显示正确的$ 1.25值。是什么给了什么?

我想知道这是否与UITextField仍然是第一响应者的事实有关,我正在调试的这个代码是在“保存”按钮中,在所述UITextField中输入数据后立即按下该按钮?!?如果是这样,问题仍然存在,数据存储在何处以及如何调试?我在类似情况下使用的UIDatePicker也有类似的问题来修改UITextField的值。

谢谢!

2 个答案:

答案 0 :(得分:4)

你要问的是基本上;

  

如何在调试器中查看私有类数据并使其反映出我的期望?

答案基本上是你不能的。 _text字段可以在以后更新,或者根本不使用。

如果你想要一种方法来调试在UITextField中输入的内容,你可以考虑使用textField:委托中的shouldChangeCharactersInRange打印输出字符,然后输入它们。

答案 1 :(得分:0)

调试器不理解点表示法(textField.text)。但请记住,属性只是方法调用的简写 - 所以调用[textfield text]完全相同。因此,如果要在调试器中查看文本字段值,只需键入:

po [textField text]