2

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

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

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

谢谢!

4

2 回答 2

4

您要问的本质上是;

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

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

如果您确实想要一种方法来调试 UITextField 中输入的内容,您可以考虑使用委托中的 textField:shouldChangeCharactersInRange 来打印输入的字符。

于 2009-02-27T00:13:39.840 回答
0

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

po [textField text]
于 2009-02-28T18:25:52.953 回答