iOS — программирование Event Kit для прослушивания уведомлений

Я хочу следить за изменениями в приложении «Календарь», поэтому я регистрируюсь для получения уведомления EKEventStoreChangedNotification. Но нужно ли мне иметь "живой" объект EKEventStore, чтобы получать это уведомление? Я думаю, что инициализирую объект EKEventStore в контроллере представления для получения некоторых событий. И затем я вытащу этот контроллер представления из стека навигации, и контроллер представления будет освобожден, таким образом, объект EKEventStore будет освобожден.


person Peter Warbo    schedule 07.09.2012    source источник
comment
@Peter Warbo рассеялись ли ваши сомнения...?   -  person Vimal Venugopalan    schedule 08.09.2012


Ответы (2)


Нет, вам не нужно поддерживать объект EKEventStore в рабочем состоянии, так как вы уже регистрируете EKEventStoreChangedNotification, используя объект EKEventStore с именем eventStore.

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(storeChanged:)
                              name:EKEventStoreChangedNotification  object:eventStore];

См. это для большего разрешения ваших сомнений

person Vimal Venugopalan    schedule 07.09.2012

Для swift 3.x используйте, как показано ниже

NotificationCenter.default.addObserver(self, selector: #selector(ViewController.storeChanged(_:)), name: NSNotification.Name.EKEventStoreChanged, object: eventStore)
...
...
...
//Method
func storeChanged(_ nsNotification: NSNotification) {
//do your stuff
}
person Madasamy    schedule 01.12.2016