Text Field に設定した値が表示されない
名前を登録する処理の実装中に少しハマったのでメモ
処理の流れは、
TableView をタップすると画面が右に遷移すると、
TextField が現れて名前を入力するというごくごく一般的な処理を実装
で、 Save 後に TableView に戻り入力し直そうとすると、 TextField 空欄になっています。
値が保持されていないのではと思い、デバッグするもちゃんと、TextField.text には値が代入されている。
うんうんうなって、サンプルコードなどを見てみると Interface Builder での TextField の Attributes に
Clear When Editing Begins
というチェックがあり、それがONになってるではないか!
このチェック、編集を始めるときにクリアしますよー、ということなのでこれだと思い、チェックを外してコンパイル。無事解決。
TableView での名前の入力

TableView の セルをタップすると右に遷移して、TextField が現れる

名前を入力し、「Save」 をタップすると画面が左に遷移して TableView に表示される

もう一度、TableView のセルをタップして名前を再入力しようとすると、なぜか空欄になってしまう・・・

Interface Builder の Inspector を表示して、TextField の Clear When Editing Begins のチェックをオフにすれば、空欄にならずに入力した値が表示されるようになる

慣れないうちはこういうちょっとした落とし穴にもハマってしまうので気をつけねば。。。
処理の流れは、
TableView をタップすると画面が右に遷移すると、
TextField が現れて名前を入力するというごくごく一般的な処理を実装
で、 Save 後に TableView に戻り入力し直そうとすると、 TextField 空欄になっています。
値が保持されていないのではと思い、デバッグするもちゃんと、TextField.text には値が代入されている。
うんうんうなって、サンプルコードなどを見てみると Interface Builder での TextField の Attributes に
Clear When Editing Begins
というチェックがあり、それがONになってるではないか!
このチェック、編集を始めるときにクリアしますよー、ということなのでこれだと思い、チェックを外してコンパイル。無事解決。
TableView での名前の入力

TableView の セルをタップすると右に遷移して、TextField が現れる

名前を入力し、「Save」 をタップすると画面が左に遷移して TableView に表示される

もう一度、TableView のセルをタップして名前を再入力しようとすると、なぜか空欄になってしまう・・・

Interface Builder の Inspector を表示して、TextField の Clear When Editing Begins のチェックをオフにすれば、空欄にならずに入力した値が表示されるようになる

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