1. NSNotification和NSNotificationCenter
NSNotification是通过NSNotificationCenter封装信息来广播给其它对象的。一个NSNotification对象包含一个name,object,和一个可选的dictionary。name是用来标识notification的。object指消息通知发送者。dictionary值消息传递的数据信息。(字典类型)
NSNotificationCenter提供一种机制,在程序中来广播信息。
2. 获得消息中心
let center = NSNotificationCenter.defaultCenter()
3. 观察者注册消息通知
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
/**
Description:
observer:观察者self
selector:观察者处理消息的方法名
name:消息通知的标记名
object:消息发送者,如果为nil,默认接收所有发送者的通知
*/
NSNotificationCenter.defaultCenter().addObserver(self, selector: "printFunc:", name: "myNotification", object: nil)
return true
}
4. 发送消息通知
NSNotificationCenter.defaultCenter().postNotificationName("myNotification", object: self, userInfo: ["str":"helloworld"])
5. 移除观察者
deinit{
NSNotificationCenter.defaultCenter().removeObserver(self, name: "myNotification", object: nil)
}