NSNotificationの目的と、それを使用できる状況について説明してください。
通知は、デリゲートを渡すことによって、アプリ内のすべてのクラスを呼び出しますか、それとも特定のクラスを呼び出しますか?
1つの通知を作成し、それを複数のクラスで受信することは可能ですか?
3 に答える
NSNotificationを使用すると、あるイベントについて複数のオブジェクトに通知でき、どのオブジェクトとその通知をリッスンしているオブジェクトの数を気にせずに通知できます。
NSNotificationは、作成したオブジェクトから通知を取得し(postNotification:関数ファミリを使用)、特定の通知をリッスンするように登録されているオブジェクトに送信するNSNotificationCenterオブジェクトを通過します(通知オブジェクトを受信するには、
addObserver:
関数を使用してNSNotificationCenterに登録する必要があります)通知は複数のオブジェクトで監視できます。すべてのオブジェクトはNSNotificationCenterに登録する必要があります。
NSNotification
オブジェクトは情報をカプセル化して、オブジェクトが他のオブジェクトにブロードキャストできるようにしNSNotificationCenter
ます。
オブジェクト(通知と呼ばれるNSNotification
)には、名前、オブジェクト、およびオプションの辞書が含まれています。名前は通知を識別するタグです。オブジェクトは、通知の投稿者がその通知のオブザーバーに送信したいオブジェクトです(通常、通知を投稿したオブジェクトです)。ディクショナリには、他の関連オブジェクトがあればそれが格納されます。NSNotification
オブジェクトは不変のオブジェクトです。