通常、通知はオブジェクトから「送信」されたものと考えます。したがって、デバッグ中に通知のソースを見つけたい場合は、そのオブジェクト自体でコードを探します。
その期待に違反することは違法ではありませんが、通知の本当のソースを見つけるためにもっと一生懸命働かなければならないときに、誰かがあなたを少し呪うかもしれません。
また、すべてが通知を送信する個別のコンポーネントが多数ある場合、通知を変更する必要がある場合は、コードのリファクタリングがより困難になる可能性があります(たとえば、その中のuserInfo)。
コンポーネントが常にその親への有効なポインタを持っていることを保証できる場合、最善の解決策は、コンポーネントにその親に通知を投稿するように依頼させることです。
@implementation ComponentA
- (void)someMethod
{
[self.parent pleasePostSomethingChangedNotification];
}
@end
@implementation Parent
- (void)pleasePostSomethingChangedNotification
{
// Parent may post the notification immediately,
// or may selectively post the notification based on some other condition,
// or post it later on after coalescing changes from several components,
// or ...
}
@end