I want to observe changes to the Calendar application so I register for the EKEventStoreChangedNotification
notification. But do I need to have an EKEventStore
object "alive" for me to receive this notification? I'm thinking I'm initializing the EKEventStore
object in on view controller to retrieve some events. And then I will pop this view controller of the navigation stack and the view controller will be deallocated thus the EKEventStore
object will be deallocated.
No, you don't need to keep the EKEventStore object alive as you are already registering EKEventStoreChangedNotification using EKEventStore object named eventStore
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(storeChanged:)
name:EKEventStoreChangedNotification object:eventStore];
Refer this for more clearance of your doubt
For swift 3.x, use like below
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.storeChanged(_:)), name: NSNotification.Name.EKEventStoreChanged, object: eventStore)
...
...
...
//Method
func storeChanged(_ nsNotification: NSNotification) {
//do your stuff
}
来源:https://stackoverflow.com/questions/12323796/ios-event-kit-programming-listen-to-notifications