OOPを学びながらiPhone用のインターバルタイマーフィットネスアプリを開発しています。メインのタイマー オブジェクトは、新しい間隔への切り替えやタイマーの終了など、他の関心のあるオブジェクトにイベントを通知できる必要があります。
私の最初の考えは委任を使用することでしたが、複数のオブジェクトがこれらのイベントを通知できるようにしたいのですが、実際には作業を委任するのではなく、通知するだけです...したがって、これは正しくないようです.
他の誰かが別のパターン/アプローチを提案できますか?
OOPを学びながらiPhone用のインターバルタイマーフィットネスアプリを開発しています。メインのタイマー オブジェクトは、新しい間隔への切り替えやタイマーの終了など、他の関心のあるオブジェクトにイベントを通知できる必要があります。
私の最初の考えは委任を使用することでしたが、複数のオブジェクトがこれらのイベントを通知できるようにしたいのですが、実際には作業を委任するのではなく、通知するだけです...したがって、これは正しくないようです.
他の誰かが別のパターン/アプローチを提案できますか?
受信者が送信者を知っている場合は、ココア風味のオブザーバー パターンであるKey-Value-Observingを使用して、通知をオンにできるようにする必要があります。
これが指定されていない場合、送信者は通知を送信するオブジェクトを知る必要がないため、より分離されたNSNotificationsがオプションになります。
Cocoa の通知メカニズムは、Observer パターンに基づくメッセージの 1 対多のブロードキャストを実装しています。プログラム内のオブジェクトは、1 つ以上の通知のオブザーバーのリストに自分自身または他のオブジェクトを追加します。各通知は、グローバル文字列 (通知名) によって識別されます。他のオブジェクトに通知したいオブジェクト (監視対象オブジェクト) は、通知オブジェクトを作成し、それを通知センターに投稿します。通知センターは、特定の通知のオブザーバーを決定し、メッセージを介して通知を送信します。