Swift:Notification Observer Using NSNotificationCenter

From Hawk Wiki
Jump to: navigation, search

Listen Notification in Swift

func tweetSent(notification: NSNotification) {
    let newTweet:Dictionary<String, Tweet> = notification.userInfo as Dictionary<String, Tweet>
}
//The colon in "tweetSent:" is not a typo. It indicates the function will take a parameter
NSNotificationCenter.defaultCenter().addObserver(self, selector: "tweetSent:", name: "newTweetNotification", object: nil) 

Send/Post Notification in Swift

var userInfo: Dictionary<String, Tweet> = ["tweet": newTweet]
NSNotificationCenter.defaultCenter().postNotificationName("newTweetNotification", object: nil, userInfo: userInfo)

Remove Notification Observer

deinit {
    NSNotificationCenter.defaultCenter().removeObserver(self)
}