Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы основы ссылка класса NSDistributedNotificationCenter

Опции
Развертывание Target:

На этой странице
Язык:

NSDistributedNotificationCenter

Класс сразу

NSDistributedNotificationCenter класс обеспечивает способ отправить уведомления объектам в других задачах. Это берет NSNotification объекты и широковещательные сообщения их к любым объектам в других задачах, зарегистрировавшихся для уведомления в значении по умолчанию их задачи, распределили центр уведомления.

NSDistributedNotificationCenter класс реализует центр уведомления, который может распределить уведомления асинхронно задачам кроме той, в которой было отправлено уведомление. Экземпляр этого класса известен как распределенный центр уведомления.

Каждая задача имеет распределенный центр уведомления значения по умолчанию, к которому Вы получаете доступ с defaultCenter метод класса. Могут быть различные типы распределенных центров уведомления. В настоящее время существует единственный тип —NSLocalNotificationCenterType. Этот тип распределенного центра уведомления обрабатывает уведомления, которые могут быть отправлены между задачами на одиночном компьютере. Для коммуникации между задачами на различных компьютерах используйте Распределенные Объекты, Программируя Темы.

Регистрация распределенного уведомления является дорогой работой. Уведомление отправляется в сервер в масштабе всей системы, распределяющий его всем задачам, имеющим объекты, зарегистрированные для распределенных уведомлений. Задержка между регистрацией уведомления и поступлением уведомления в другую задачу неограниченна. Фактически, когда слишком много уведомлений отправляются, и очередь сервера заполняется, уведомления могут быть отброшены.

Распределенные уведомления поставлены через цикл выполнения задачи. Задача должна выполнять цикл выполнения в одном из «общих» режимов, такой как NSDefaultRunLoopMode, получить распределенное уведомление. Для многопоточных приложений, работающих в OS X v10.3 и позже, распределенные уведомления всегда поставляются основному потоку. Для многопоточных приложений, работающих в OS X v10.2.8 и ранее, уведомления поставлены потоку, сначала использовавшему распределенные уведомления API, который в большинстве случаев является основным потоком.

Наследование


Соответствует


Оператор импорта


Swift

import Foundation

Objective C

@import Foundation;

Доступность


Доступный в OS X v10.0 и позже.
  • Возвращается значение по умолчанию распределило центр уведомления, представляя локальный центр уведомления компьютера.

    Объявление

    Swift

    class func defaultCenter() -> NSDistributedNotificationCenter

    Objective C

    + (NSDistributedNotificationCenter *)defaultCenter

    Возвращаемое значение

    Значение по умолчанию распределило центр уведомления компьютера.

    Обсуждение

    Это вызовы метода notificationCenterForType: с параметром NSLocalNotificationCenterType.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Возвращает распределенный центр уведомления определенного типа центра уведомления.

    Объявление

    Swift

    class func notificationCenterForType(_ notificationCenterType: String) -> NSDistributedNotificationCenter

    Objective C

    + (NSDistributedNotificationCenter *)notificationCenterForType:(NSString *)notificationCenterType

    Параметры

    notificationCenterType

    Тип центра уведомления, запрашиваемый о.

    Возвращаемое значение

    Распределенный центр уведомления notificationCenterType.

    Обсуждение

    В настоящее время только один тип, NSLocalNotificationCenterType, поддерживается.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет запись в таблицу отгрузки получателя с наблюдателем, уведомление селекторные и дополнительные критерии: имя уведомления и отправитель.

    Объявление

    Swift

    func addObserver(_ notificationObserver: AnyObject, selector notificationSelector: Selector, name notificationName: String?, object notificationSender: String?)

    Objective C

    - (void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString *)notificationName object:(NSString *)notificationSender

    Параметры

    notificationObserver

    Объект, регистрирующийся как наблюдатель. Не должен быть nil.

    notificationSelector

    Селектор, указывающий сообщение получатель, отправляет notificationObserver уведомлять его относительно регистрации уведомления. Не должен быть 0.

    notificationName

    Имя уведомления, для которого можно зарегистрировать наблюдателя; т.е. только уведомления с этим именем поставлены наблюдателю. Когда nil, центр уведомления не использует имя уведомления, чтобы решить, поставить ли его наблюдателю.

    notificationSender

    Объект, уведомления которого наблюдатель хотят получить; т.е. только уведомления, отправленные этим отправителем, поставлены наблюдателю. Когда nil, центр уведомления не использует отправителя уведомления, чтобы решить, поставить ли его наблюдателю.

    Обсуждение

    Это вызовы метода addObserver:selector:name:object:suspensionBehavior: с suspensionBehavior:NSNotificationSuspensionBehaviorCoalesce (описанный в Константах).

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Добавляет запись в таблицу отгрузки получателя с определенным наблюдателем и поведением приостановленных уведомлений, и именем необязательного уведомления и отправителем.

    Объявление

    Swift

    func addObserver(_ notificationObserver: AnyObject, selector notificationSelector: Selector, name notificationName: String?, object notificationSender: String?, suspensionBehavior suspendedDeliveryBehavior: NSNotificationSuspensionBehavior)

    Objective C

    - (void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString *)notificationName object:(NSString *)notificationSender suspensionBehavior:(NSNotificationSuspensionBehavior)suspendedDeliveryBehavior

    Параметры

    notificationObserver

    Объект, регистрирующийся как наблюдатель. Не должен быть nil.

    notificationSelector

    Селектор, указывающий сообщение получатель, отправляет notificationObserver уведомлять его относительно регистрации уведомления. Не должен быть 0.

    notificationName

    Имя уведомления, для которого можно зарегистрировать наблюдателя; т.е. только уведомления с этим именем поставлены наблюдателю. Когда nil, центр уведомления не использует имя уведомления, чтобы решить, поставить ли его наблюдателю.

    notificationSender

    Объект, уведомления которого наблюдатель хотят получить; т.е. только уведомления, отправленные этим отправителем, поставлены наблюдателю. Когда nil, центр уведомления не использует отправителя уведомления, чтобы решить, поставить ли его наблюдателю.

    suspendedDeliveryBehavior

    Уведомление, отправляющее поведение, когда приостановлена поставка уведомления.

    Обсуждение

    Получатель не сохраняет notificationObserver. Поэтому необходимо всегда отправлять removeObserver: или removeObserver:name:object: к получателю перед выпуском notificationObserver.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Удаляет соответствие записей из таблицы отгрузки получателя.

    Объявление

    Swift

    func removeObserver(_ notificationObserver: AnyObject?, name notificationName: String?, object notificationSender: String?)

    Objective C

    - (void)removeObserver:(id)notificationObserver name:(NSString *)notificationName object:(NSString *)notificationSender

    Параметры

    notificationObserver

    Наблюдатель для удаления из таблицы отгрузки. Укажите наблюдателя для удаления только записей для этого наблюдателя. Когда nil, получатель не использует наблюдателей уведомления в качестве критериев удаления.

    notificationName

    Имя уведомления для удаления из таблицы отгрузки. Укажите имя уведомления для удаления только записей, указывающих это имя уведомления. Когда nil, получатель не использует имена уведомления в качестве критериев удаления.

    notificationSender

    Отправитель для удаления из таблицы отгрузки. Укажите отправителя уведомления для удаления только записей, указывающих этого отправителя. Когда nil, получатель не использует отправителей уведомления в качестве критериев удаления.

    Обсуждение

    Обязательно вызовите этот метод с notificationName:nil notificationSender:nil (или removeObserver:) прежде, чем освободить объект наблюдателя.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает уведомление и отправляет его на получатель.

    Объявление

    Swift

    func postNotificationName(_ notificationName: String, object notificationSender: String?)

    Objective C

    - (void)postNotificationName:(NSString *)notificationName object:(NSString *)notificationSender

    Параметры

    notificationName

    Имя уведомления сообщению. Не должен быть nil.

    notificationSender

    Отправитель уведомления. Может быть nil.

    Обсуждение

    Этот метод вызывает postNotificationName:object:userInfo:deliverImmediately: с userInfo:nil deliverImmediately:NO.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает уведомление с информацией и отправляет его на получатель.

    Объявление

    Swift

    func postNotificationName(_ notificationName: String, object notificationSender: String?, userInfo notificationInfo: [NSObject : AnyObject]?)

    Objective C

    - (void)postNotificationName:(NSString *)notificationName object:(NSString *)notificationSender userInfo:(NSDictionary *)notificationInfo

    Параметры

    notificationName

    Имя уведомления сообщению. Не должен быть nil.

    notificationSender

    Отправитель уведомления. Может быть nil.

    notificationInfo

    Словарь, содержащий дополнительную информацию. Может быть nil.

    Обсуждение

    Этот метод вызывает postNotificationName:object:userInfo:deliverImmediately: с deliverImmediately:NO.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает уведомление с информацией и спецификатором срочной поставки, и отправляет его на получатель.

    Объявление

    Swift

    func postNotificationName(_ notificationName: String, object notificationSender: String?, userInfo userInfo: [NSObject : AnyObject]?, deliverImmediately deliverImmediately: Bool)

    Objective C

    - (void)postNotificationName:(NSString *)notificationName object:(NSString *)notificationSender userInfo:(NSDictionary *)userInfo deliverImmediately:(BOOL)deliverImmediately

    Параметры

    notificationName

    Имя уведомления сообщению. Не должен быть nil.

    notificationSender

    Отправитель уведомления. Может быть nil.

    userInfo

    Словарь, содержащий дополнительную информацию. Может быть nil.

    deliverImmediately

    Указывает, когда поставить уведомление. Когда NOfalse, получатель поставляет уведомления их наблюдателям согласно поведению приостановленного уведомления, указанному в соответствующей записи таблицы отгрузки. Когда YEStrue, получатель сразу поставляет уведомление его наблюдателям.

    Обсуждение

    Это - предпочтительный метод для регистрации уведомлений.

    notificationInfo словарь сериализируется как список свойств, таким образом, он может быть передан другой задаче. В задаче получения это десериализовывается назад в словарь. Эта сериализация налагает некоторые ограничения на объекты, которые могут быть помещены в notificationInfo словарь. См. Списки свойств XML для подробных данных.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Создает уведомление с информацией и отправляет его на получатель.

    Объявление

    Swift

    func postNotificationName(_ notificationName: String, object notificationSender: String?, userInfo userInfo: [NSObject : AnyObject]?, options notificationOptions: Int)

    Objective C

    - (void)postNotificationName:(NSString *)notificationName object:(NSString *)notificationSender userInfo:(NSDictionary *)userInfo options:(NSUInteger)notificationOptions

    Параметры

    notificationName

    Имя уведомления сообщению. Не должен быть nil.

    notificationSender

    Отправитель уведомления. Может быть nil.

    userInfo

    Словарь, содержащий дополнительную информацию. Может быть nil.

    notificationOptions

    Указывает, как уведомление отправляется на задачу и когда поставить его ее наблюдателям. См., что Уведомление Отправляет Поведение для подробных данных.

    Обсуждение

    userInfo словарь сериализируется как список свойств, таким образом, он может быть передан другой задаче. В задаче получения это десериализовывается назад в словарь. Эта сериализация налагает некоторые ограничения на объекты, которые могут быть помещены в userInfo словарь. См. Списки свойств XML для подробных данных.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.3 и позже.

  • Возвращает булево значение, указывающее, приостановлена ли поставка уведомления.

    Объявление

    Swift

    var suspended: Bool

    Objective C

    @property BOOL suspended

    Возвращаемое значение

    YEStrue когда поставка уведомления приостановлена, иначе NOfalse.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

    См. также

    – setSuspended:

  • Приостанавливает или возобновляет поставку уведомления.

    Объявление

    Swift

    var suspended: Bool

    Objective C

    @property BOOL suspended

    Параметры

    suspended

    YEStrue приостанавливает поставку уведомления, NOfalse резюме это.

    Обсуждение

    Посмотрите NSNotificationSuspensionBehavior для подробных данных о том, как получатель поставляет уведомления их наблюдателям, когда приостановлена нормальная поставка уведомления.

    NSApplication когда приложение не активно, класс автоматически приостанавливает распределенную поставку уведомления. Приложения на основе платформы Набора Приложения должны позволить AppKit управлять приостановкой поставки уведомления. Программы только для основы могут иметь случайную потребность использовать этот метод.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

Типы данных

  • Эти константы указывают типы способов поведения приостановки поставки уведомления.

    Объявление

    Swift

    enum NSNotificationSuspensionBehavior : UInt { case Drop case Coalesce case Hold case DeliverImmediately }

    Objective C

    typedef enum { NSNotificationSuspensionBehaviorDrop = 1, NSNotificationSuspensionBehaviorCoalesce = 2, NSNotificationSuspensionBehaviorHold = 3, NSNotificationSuspensionBehaviorDeliverImmediately = 4 } NSNotificationSuspensionBehavior;

    Константы

    • Drop

      NSNotificationSuspensionBehaviorDrop

      Сервер не ставит уведомлений в очередь с этим именем и объектом до setSuspended: с параметром NOfalse вызывается.

      Доступный в OS X v10.0 и позже.

    • Coalesce

      NSNotificationSuspensionBehaviorCoalesce

      Сервер только ставит последнее уведомление в очередь об указанном имени и объекте; отбрасываются более ранние уведомления. В методах покрытия, за которые поведение приостановки не является явным параметром, NSNotificationSuspensionBehaviorCoalesce значение по умолчанию.

      Доступный в OS X v10.0 и позже.

    • Hold

      NSNotificationSuspensionBehaviorHold

      Сервер содержит все уведомления соответствия, пока очередь не была переполнена (размер очереди, определенный сервером), в которой точке сервер может сбросить поставленные в очередь уведомления.

      Доступный в OS X v10.0 и позже.

    • DeliverImmediately

      NSNotificationSuspensionBehaviorDeliverImmediately

      Сервер поставляет уведомления, соответствующие эту регистрацию независимо от ли setSuspended: с параметром YEStrue был вызван. Когда уведомление с этим поведением приостановки является соответствующим, это имеет эффект первого сбрасывания любых уведомлений с очередями. Эффект состоит в том как будто setSuspended: с параметром NOfalse если приложение приостанавливается, сопровождается рассматриваемым уведомлением, поставляемым, сопровождается переходом назад к предыдущему приостановленному или неприостановленному состоянию, были сначала вызваны.

      Доступный в OS X v10.0 и позже.

    Оператор импорта

    Objective C

    @import Foundation;

    Swift

    import Foundation

    Доступность

    Доступный в OS X v10.0 и позже.

  • Эта константа указывает тип центра уведомления.

    Объявление

    Swift

    let NSLocalNotificationCenterType: NSString!

    Objective C

    FOUNDATION_EXPORT NSString * const NSLocalNotificationCenterType;

    Константы

    • NSLocalNotificationCenterType

      NSLocalNotificationCenterType

      Распределяет уведомления всем задачам на компьютере отправителя.

      Доступный в OS X v10.0 и позже.

  • Эти константы указывают поведение уведомлений, отправленных с помощью postNotificationName:object:userInfo:options: метод.

    Объявление

    Swift

    var NSNotificationDeliverImmediately: Int { get } var NSNotificationPostToAllSessions: Int { get }

    Objective C

    enum { NSNotificationDeliverImmediately = (1 << 0), NSNotificationPostToAllSessions = (1 << 1) };

    Константы

    • NSNotificationDeliverImmediately

      NSNotificationDeliverImmediately

      Когда установлено, уведомление сразу поставлено всем наблюдателям, независимо от их поведения приостановки или состояния приостановки. Если не набор, позволяет нормальному поведению приостановки наблюдателей уведомления иметь место.

      Доступный в OS X v10.3 и позже.

    • NSNotificationPostToAllSessions

      NSNotificationPostToAllSessions

      Когда установлено, уведомление отправляется на все сеансы. Если не набор, уведомление отправляется только в приложения в том же сеансе входа в систему как задача регистрации.

      Доступный в OS X v10.3 и позже.