原創文章,歡迎轉載。轉載請註明:關東昇的博客 php
通知(Notification)機制是基於觀察者(Observer)模式也叫發佈/訂閱(Publish/Subscribe)模式,是 MVC( 模型-視圖-控制器)模式的重要組成部分。 微信
問題提出post
天氣一直是英國人喜歡討論的話題,而最近幾年天氣的變化也成爲中國人很是關注的話題。我會根據天氣預報決定是坐地鐵仍是開車上班,個人女兒也會根據天氣預報決定明天穿哪件衣服。因而我在移動公司爲個人手機定製了天氣預報短信通知服務,它的工做模型如圖所示。網站
天天氣象局將天氣預報信息投送給移動運營商,移動運營商的短信中心負責把天氣預報發送給定製過這項服務的手機。設計
在軟件系統中,一個對象狀態改變也會連帶影響其餘不少對象的狀態發生改變。可以實現這一需求的設計方案有不少,但可以作到複用性強且對象之間匿名通訊的,觀察者模式是其中最爲適合的一個。 server
解決方案對象
通知機制能夠實現「一對多」的對象之間的通訊。如圖所示,在通知機制中對某個通知感興趣的全部對象均可以成爲接收者。首先,這些對象須要向通知中心(NSNotificationCenter)發出addObserver消息進行註冊通知,在投送對象經過postNotificationName消息投送通知給通知中心,通知中心就會把通知廣播給註冊過的接收者。全部的接收者都不知道通知是誰投送的,更不關心它的細節。投送對象與接收者是一對多的關係。接收者若是對通知再也不關注,會給通知中心發出removeObserver消息註銷通知,之後再也不接收通知。blog
歡迎關注關東昇新浪微博@tony_關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.php教程