通知UIViewController
のオブザーバーになるようにを追加しようとしています。UITextFieldTextDidChangeNotification
テキストフィールドに入力してテキストを変更すると、すべてがスムーズに進みます。ただし、[_ textfield setText:@ "Blahblah"]を呼び出してテキストを変更しようとすると、通知が送信されないようです。
これは意図された方法ですか?
ありがとう!
通知UIViewController
のオブザーバーになるようにを追加しようとしています。UITextFieldTextDidChangeNotification
テキストフィールドに入力してテキストを変更すると、すべてがスムーズに進みます。ただし、[_ textfield setText:@ "Blahblah"]を呼び出してテキストを変更しようとすると、通知が送信されないようです。
これは意図された方法ですか?
ありがとう!
これは通常、ほとんどのイベントに当てはまります。イベントがユーザー主導の場合に通知が必要です。ただし、イベントが明示的なコード変更によって引き起こされる場合は、通知は必要ありません。変更を行うために明示的な呼び出しを行っているため、オプションで通知ハンドラーを呼び出すこともできます。これは、より柔軟なアプローチです。
独自のコードがイベントをトリガーするときに通知を送信したくない理由の例を次に示します。コードが通知を受け取ったときにテキストを検証し、その検証に基づいてテキストフィールドを更新するとします。これにより、通知/変更の無限ループが発生する可能性があります。