What is parameter `object` in NSNotification addObserver:?

前端 未结 3 1577
温柔的废话
温柔的废话 2020-12-29 22:31

One of my class named Message.m is posting a notification with an object sentObject as below

NSDictionary *sentObject = [NSDictionary dictionary         


        
相关标签:
3条回答
  • 2020-12-29 22:56

    For anyone interested in apple's documentation. This is what it says:

    notificationSender

    The object whose notifications the observer wants to receive; that is, only notifications sent by this sender are delivered to the observer. If you pass nil, the notification center doesn’t use a notification’s sender to decide whether to deliver it to the observer.

    0 讨论(0)
  • 2020-12-29 22:58

    You can use it to pass any object with the notification. The receiver of the notification will then be able to access that object. For example, you could implement dataReloaded like this:

    - (void)dataReloaded:(NSNotification *)notification {
    
        NSLog(@"%@", notification.object); // this will log the object you passed in addObserver:selector:name:object:
    
    }
    

    It can be useful when you want to pass on data with your notification, so that the receiver of a notification can use that data too.

    0 讨论(0)
  • 2020-12-29 23:05

    That "object" parameter to "addObserver" is an optional filter. Upon posting a notification you can set an object to the sender of the notification, and will then only be notified of that sender's events. If set to "nil" you will get all notification of this type (regardless who sent them).

    0 讨论(0)
提交回复
热议问题