一, NSNotification (通知)
- 通知: 是一個對象能給其他任意數(shù)量的對象廣播消息的一種方式,對象之間沒有耦合關(guān)系
- NSNotification(通知),封裝了要廣播的信息(包括用做標(biāo)簽’名字’,需要發(fā)送的任意類型的’對象’,一個存放其他信息的字典)
- NSNotificationCenter(通知中心),管理注冊接收消息對象,廣播消息; NSNotificationCenter是一個單例可以通過+defaultCenter方法獲取,
- Observer(觀察者),需要監(jiān)聽通知的對象,即廣播的信息的接受者
注意:observer在結(jié)束監(jiān)聽時需要在通知中心注銷 - 常用方法:
1 創(chuàng)建通知
notificationWithName:object: notificationWithName:object:userInfo:.
2 通過通知中心發(fā)送通知
postNotificationName:object: postNotificationName:object:userInfo:
3 添加一個監(jiān)聽者
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(aWindowBecameMain:) name:NSWindowDidBecomeMainNotification object:nil];
4 移除監(jiān)聽者
[[NSNotificationCenter defaultCenter] removeObserver:self name:@”” object:nil];