2

いくつかのコードをデバッグしていますが、iPhone のキーボードから UITextField (および UIDatePicker から) に入力された値を確認および追跡するのが難しいことがわかりました。

Arguments>self>textField>_text が textField に入力された値を反映することを期待しますが、そうではありません。異なる値が表示されます (たとえば、1.25 ドルではなく 0.00 ドル)。NSLog(@"textField.text:%@", textField.text); を介して値を書き出すと、正しい $1.25 の値が表示されます。何を与える?

これは、UITextField がまだ最初のレスポンダーであり、デバッグしているこのコードが、UITextField にデータを入力した直後に押される「保存」ボタンにあるという事実に関連しているのだろうか?!? その場合、そのデータはどこに保存され、どのようにデバッグすればよいのでしょうか? UITextFieldの値を変更するために同様の状況で使用されるUIDatePickerにも同様の問題があります。

ありがとう!

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 に答える