Class: NSNotificationQueue

Inherits:
NSObject show all

Overview

NSNotificationQueue objects (or simply notification queues) act as buffers for notification centers (instances of NSNotificationCenter). Whereas a notification center distributes notifications when posted, notifications placed into the queue can be delayed until the end of the current pass through the run loop or until the run loop is idle. Duplicate notifications can also be coalesced so that only one notification is sent although multiple notifications are posted. A notification queue maintains notifications (instances of NSNotification) generally in a first in first out (FIFO) order. When a notification rises to the front of the queue, the queue posts it to the notification center, which in turn dispatches the notification to all objects registered as observers.

Class Method Summary (collapse)

Instance Method Summary (collapse)

Methods inherited from NSObject

#!, #!=, #!~, #, #==, #===, #=~, #Rational, #__callee__, #__method__, #__send__, #__type__, `, alloc, allocWithZone:, #autoContentAccessingProxy, autoload, autoload?, autorelease_pool, #awakeAfterUsingCoder:, binding, block_given?, caller, cancelPreviousPerformRequestsWithTarget:, cancelPreviousPerformRequestsWithTarget:selector:object:, catch, class, classFallbacksForKeyedArchiver, #classForCoder, #classForKeyedArchiver, classForKeyedUnarchiver, #clone, conformsToProtocol:, #copy, copyWithZone:, #dealloc, #define_singleton_method, description, display, #doesNotRecognizeSelector:, #dup, #enum_for, #eql?, #equal?, #extend, fail, #finalize, format, #forwardInvocation:, #forwardingTargetForSelector:, framework, #freeze, #frozen?, getpass, gets, global_variables, #init, initialize, #initialize_clone, #initialize_copy, #initialize_dup, #inspect, instanceMethodForSelector:, instanceMethodSignatureForSelector:, #instance_eval, #instance_exec, #instance_of?, #instance_variable_defined?, #instance_variable_get, #instance_variable_set, #instance_variables, instancesRespondToSelector:, isSubclassOfClass:, #is_a?, iterator?, #kind_of?, lambda, load, load_bridge_support_file, load_plist, local_variables, loop, #method, #methodForSelector:, #methodSignatureForSelector:, #methods, #mutableCopy, mutableCopyWithZone:, new, #nil?, open, p, #performSelector:onThread:withObject:waitUntilDone:, #performSelector:onThread:withObject:waitUntilDone:modes:, #performSelector:withObject:afterDelay:, #performSelector:withObject:afterDelay:inModes:, #performSelectorInBackground:withObject:, #performSelectorOnMainThread:withObject:waitUntilDone:, #performSelectorOnMainThread:withObject:waitUntilDone:modes:, print, printf, #private_methods, proc, #protected_methods, #public_method, #public_methods, #public_send, putc, puts, raise, rand, readline, readlines, #replacementObjectForCoder:, #replacementObjectForKeyedArchiver:, require, resolveClassMethod:, resolveInstanceMethod:, #respond_to?, #respond_to_missing?, select, #send, setVersion:, #singleton_methods, sprintf, srand, superclass, #taint, #tainted?, #tap, test, throw, #to_plist, #to_s, trace_var, trap, #trust, #untaint, untrace_var, #untrust, #untrusted?, version

Constructor Details

This class inherits a constructor from NSObject

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class NSObject

Class Method Details

+ (NSNotificationQueue) defaultQueue

Returns the default notification queue for the current thread.

Returns:

  • (NSNotificationQueue)

    Returns the default notification queue for the current thread. This notification queue uses the default notification center.

Instance Method Details

- (Object) dequeueNotificationsMatching(notification, coalesceMask:coalesceMask)

Removes all notifications from the queue that match a provided notification using provided matching criteria.

Parameters:

  • notification (NSNotification)

    The notification used for matching notifications to remove from the notification queue.

  • coalesceMask (Integer)

    A mask indicating what criteria to use when matching attributes of notification to attributes of notifications in the queue. The mask is created by combining any of the constants NSNotificationNoCoalescing, NSNotificationCoalescingOnName, and NSNotificationCoalescingOnSender.

Returns:

- (Object) enqueueNotification(notification, postingStyle:postingStyle)

Adds a notification to the notification queue with a specified posting style. Notifications added with this method are posted using the runloop mode NSDefaultRunLoopMode and coalescing criteria that will coalesce only notifications that match both the notification’s name and object.This method invokes enqueueNotification:postingStyle:coalesceMask:forModes:.

Parameters:

  • notification (NSNotification)

    The notification to add to the queue.

  • postingStyle (NSPostingStyle)

    The posting style for the notification. The posting style indicates when the notification queue should post the notification to its notification center.

Returns:

- (Object) enqueueNotification(notification, postingStyle:postingStyle, coalesceMask:coalesceMask, forModes:modes)

Adds a notification to the notification queue with a specified posting style, criteria for coalescing, and runloop mode.

Parameters:

  • notification (NSNotification)

    The notification to add to the queue.

  • postingStyle (NSPostingStyle)

    The posting style for the notification. The posting style indicates when the notification queue should post the notification to its notification center.

  • coalesceMask (Integer)

    A mask indicating what criteria to use when matching attributes of notification to attributes of notifications in the queue. The mask is created by combining any of the constants NSNotificationNoCoalescing, NSNotificationCoalescingOnName, and NSNotificationCoalescingOnSender.

  • modes (Array)

    The list of modes the notification may be posted in. The notification queue will only post the notification to its notification center if the run loops is in one of the modes provided in the array. May be nil, in which case it defaults to NSDefaultRunLoopMode.

Returns:

- (Object) initWithNotificationCenter(notificationCenter)

Initializes and returns a notification queue for the specified notification center. This is the designated initializer for the NSNotificationQueue class.

Parameters:

  • notificationCenter (NSNotificationCenter)

    The notification center used by the new notification queue.

Returns:

  • (Object)

    The newly initialized notification queue.