「遅すぎる」射撃のtextfielddidenditing
-
27-10-2019 - |
質問
ユーザーがデータに入力しているマルチビュープロセスがあり、途中で各ステップの各ステップにモデルクラスのプロパティに保存しています。
私が使う textFieldDidEndEditing
入力が有効であるかどうかを確認し、その場合、入力されたデータを保存します。
ビューでは、すべての検証が渡され、その場合に次のビューをロードするかどうかを確認するためにチェックする継続ボタンクリックイベントがあります。ここでモデルのプロパティを設定しません。各フィールドが一度にモデル1フィールドに保存されているため、必要はないと思うからです。しかし、私はいくつかの問題に気づきました。
ユーザーがテキストボックスの内側にあり、「継続」ボタンをクリックすると、継続ボタンクリックされたイベントが発砲します。 textFieldDidEndEditing
. 。結局のところ、次のビューには、保存が起こる前に「古い」モデルが入力されているということです textFieldDidEndEditing
.
何が足りないの?継続にすべてのプロパティを設定することは適切ですか?私がWebのプログラミングをしていた場合、それは私がそれをする方法ですが、それはネイティブアプリには適切ではないようです。
解決
代わりにこれを試して、それがあなたの問題を解決するかどうかを確認できますか?
textFieldShouldEndEditing:
他のヒント
あなたは電話することができます resignFirstResponder
Active Textfield/TextView(またはそれらすべて)では、 textFieldDidEndEditing
.
一般に、このようなテキスト編集の問題については、別のアプローチが悪用することです -textField:shouldChangeCharactersInRange:...
入力されたすべての文字の新しい値を決定できる委任方法。他の方法がない場合にのみ、この方法に戻す必要があります。