Text Field に設定した値が表示されない | 静岡県富士市在住のiPhoneアプリ開発者ブログ

Text Field に設定した値が表示されない

名前を登録する処理の実装中に少しハマったのでメモ

処理の流れは、
TableView をタップすると画面が右に遷移すると、
TextField が現れて名前を入力するというごくごく一般的な処理を実装

で、 Save 後に TableView に戻り入力し直そうとすると、 TextField 空欄になっています。
値が保持されていないのではと思い、デバッグするもちゃんと、TextField.text には値が代入されている。

うんうんうなって、サンプルコードなどを見てみると Interface Builder での TextField の Attributes に
Clear When Editing Begins
というチェックがあり、それがONになってるではないか!

このチェック、編集を始めるときにクリアしますよー、ということなのでこれだと思い、チェックを外してコンパイル。無事解決。

TableView での名前の入力
静岡県富士市在住のiPhoneアプリ開発者ブログ β

TableView の セルをタップすると右に遷移して、TextField が現れる
静岡県富士市在住のiPhoneアプリ開発者ブログ β

名前を入力し、「Save」 をタップすると画面が左に遷移して TableView に表示される
静岡県富士市在住のiPhoneアプリ開発者ブログ β

もう一度、TableView のセルをタップして名前を再入力しようとすると、なぜか空欄になってしまう・・・
静岡県富士市在住のiPhoneアプリ開発者ブログ β

Interface Builder の Inspector を表示して、TextField の Clear When Editing Begins のチェックをオフにすれば、空欄にならずに入力した値が表示されるようになる
静岡県富士市在住のiPhoneアプリ開発者ブログ β

慣れないうちはこういうちょっとした落とし穴にもハマってしまうので気をつけねば。。。