DekGenius.com
[ Team LiB ] Previous Section Next Section

NSNotificationCenter Mac OS X 10.0

This class is the core of Cocoa's notification system. Objects register with the default notification center to receive notifications posted by other objects. The default notification center, which is also used for system notifications, is obtained using the class method defaultCenter.

To register an object as a receiver of a specified notification, we use the method addObserver:selector:name:object:. The observer is the object that wishes to be notified of the notification identified by name:. The selector: argument is the selector for the method to be invoked in Observer:. The object: parameter allows us to restrict the notifications to which the observer responds to those posted by the specified object. To remove an observer we invoke the method removeObserver:, which removes the observer for all notifications. If we want to be selective about what notifications from which objects we wish to stop observing, we can use the method removeObserver:name:object:.

NSNotificationCenter provides three methods for posting notifications: postNotification:, postNotificationName:object:, and postNotificationName:object:userInfo:. Each of these methods offers different levels of control over how the notification is posted.

For more information about the notifications system, see Chapter 2.

figs/cocn_1368.gif

@interface NSNotificationCenter : NSObject
 // Class Methods
   + (id)defaultCenter;
 // Instance Methods
   - (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString *)aName object:(id)anObject;
   - (void)postNotification:(NSNotification *)notification;
   - (void)postNotificationName:(NSString *)aName object:(id)anObject;
   - (void)postNotificationName:(NSString *)aName object:(id)anObject userInfo:(NSDictionary *)aUserInfo;
   - (void)removeObserver:(id)observer;
   - (void)removeObserver:(id)observer name:(NSString *)aName object:(id)anObject;

Subclasses

NSDistributedNotificationCenter

    [ Team LiB ] Previous Section Next Section