Как отправлять и получать NSNotifications (Задача C) | Уведомления (в Swift)? - PullRequest
21 голосов
/ 20 апреля 2010

Есть ли простой шаблон для отправки NSNotification (Цель C) | Уведомление (в Swift) и как его получить? Фрагмент кода? Документы пишут как 150 страниц по теме. Хотелось бы увидеть быстрый пример.

Ответы [ 3 ]

70 голосов
/ 20 апреля 2010

Отправить уведомление:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MyCacheUpdatedNotification" object:self];

Получите это:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cacheUpdated:) name:@"MyCacheUpdatedNotification" object:nil];

Закон об этом:

- (void)cacheUpdated:(NSNotification *)notification {
[self load];
}

И распоряжаться им:

[[NSNotificationCenter defaultCenter] removeObserver:self];
0 голосов
/ 29 июня 2019

Swift Версия для того же:

Всякий раз, когда вам нужно опубликовать уведомление:

NotificationCenter.default.post(name: NSNotification.Name(rawValue: "UpdateAccepted"), object: self)

На контроллере, где вы хотите получить уведомление:

override func viewDidLoad(_ animated: Bool) {
    super.viewDidLoad(true) {
    NotificationCenter.default.addObserver(self, selector: #selector(updateAccepted(notification:)), name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

deinit {
    NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

@objc func updateAccepted(notification: Notification) {
    handleRefresh()
}
0 голосов
/ 20 апреля 2010
  1. Зарегистрируйте профиль push-уведомлений и настройте его в своем приложении. Вот ссылка для этого PushNotification (Обратите внимание, что вам понадобится какой-то сервер или что-то, захватившее устройства с идентификаторами push-уведомлений для возможность отправлять уведомления на эти устройства)

  2. Далее, если вы используете Windows Server или что-то, совместимое с .net, в качестве вашего сервера, есть хороший C # API, написанный для отправки push-уведомлений на сервер Apple (как только у вас есть сертификат и устройства, зарегистрированные для него, которые вы хранится на вашем сервере), здесь есть демонстрации того, как его использовать, довольно круто вот ссылка C # push-уведомление src

Вот и все ... я дал вам быстрое решение с использованием технологии .Net, если вы используете что-то другое, вы можете просмотреть, есть ли решения на платформе, которую вы используете, я уверен, что вы найдете что-то, если нет, то вы можете сделать свое собственное :)

...