NSNotificationsを使用するのは悪いフォームですか?NSNotificationsがアプリ全体に送信されています
0
A
答えて
4
NSNotificationの美しさは、因果関係を切り離すことができるということです。 NSNotification放送局は、誰が聞いているか、一度取得したことを気にしません。 NSNotificationの消費者は誰がメッセージを送ったかは気にしません。それはいいことだ。
しかし、因果関係を結合させたい時があります。その時点で、コントローラを表示するための直接メソッド呼び出し、またはKey-Value Observingを使用するか、より具体的なものを使用したいとします。
私はそれから決断を下すつもりはありませんが、すべてのNSNotificationの精神的な追跡に問題がある場合、それはおそらく多すぎます。
1
それ自体ではありませんが、おそらく、根本的な設計上の問題の症状になるでしょう。
0
通常、イベントを複数のオブジェクトに通知する必要がある場合にのみ、通知を使用することをお勧めします。関心のあるオブジェクトが1つしかない場合は、デリゲートパターンを使用します。 「Cocoa Design Patterns」のCocoa Fundamentalsガイドには、優れた概要があります。
関連する問題
- 1. Slack Slashコマンドresponse_type ephemeralがチャネル全体に送信されます
- 2. アプリ全体で[NSUserDefaults standardUserDefaults]は共有されていますか?
- 3. このデータは安全に送信されていますか?
- 4. ARCを使ってアプリ全体にFCMを送信するにはどうすればよいですか?
- 5. RailsアプリのSSLがプラットフォーム全体に適用されていません。
- 6. python:elasticsearch-dsl:更新本体が完全に転送されていません
- 7. MVC Webアプリ全体を画面全体に伸ばしてください
- 8. アプリ全体で使用されるカスタムフォント
- 9. phpmailerでhtmlページ全体を送信
- 10. django onchangeフォーム全体を送信
- 11. HTMLボタンが押されずに送信されています
- 12. selenium webdriver:sendkeysが完全に送信されていない、テキストをリセットする
- 13. fcmが送信されてアプリが開いているときにAndroidアプリがクラッシュする
- 14. send()は常にバッファ全体を送信しますか?
- 15. 画像がTCP経由で完全に送信されない
- 16. 送信ボタンが送信されていますが保存しません - MVC
- 17. 画面全体が追い越されていますか?
- 18. 確認リンクが送信されても確認リンクが送信されないPHPメールが送信される
- 19. チャットプログラムでメッセージを送信したクライアントにメッセージが送信されています
- 20. ボーダーがdiv全体に適用されていませんか?
- 21. ブロック全体がナビゲーションバーに表示されていませんか?
- 22. Fluentdを使用してログファイル全体をグライロッグに送信
- 23. タブバーがアプリ全体に表示されないのはなぜですか?
- 24. MVCモデル全体またはイベントをビューに送信
- 25. レスポンスが送信されず、httpヘッダーデータが送信されない
- 26. Androidリストビュー全体リストが選択されています
- 27. iPhoneアプリ:アプリがバックグラウンドで実行されているときに警告メッセージを送信しますか?
- 28. Firebaseが、変更されたデータの代わりにFIRDataEventTypeChildChangedでデータベース全体を送信します。
- 29. レイアウト全体がフェードアウトし、バーレイアウトが崩れてスクロールアップされます。
- 30. spark-submitでフォルダ全体を送信できますか?
+1 Key-Value Observing – joshpaul