一、nsnotificationcenter簡介:
二、nsnotificationcenter一般使用步驟
1.通過[nsnotificationcenter defaultcenter]類獲取通知中心例項。
2.在想要被通知的類裡面註冊通知,相當於註冊了乙個觀察者:addobserver:selector:name:object:
3.觸發通知:postnotificationname:object:
4.在不需要觀察者或者觀察者物件釋放前,移除觀察者:removeobserver:name:object:
三、nsnotificationcenter需要注意的地方
1.通知中心並不retain新增進來的觀察者物件,當你新增了乙個觀察者物件到通知中心,然後釋放了觀察者物件,但是沒有從通知中心中移除,當通知中心向它傳送訊息時,會發生異常。
2.通知中心(nsnotificationcenter)只能在單程序內傳送訊息,如果想要在多程序內傳送訊息,使用nsdistributednotificationcenter,但是這個類只能在mac ox中使用。也就是說,ios不支援程序間的通知。
3.通知中心訊息的傳送是同步的,postnotification方法是在所有訊息都傳送完畢之後才返回的。
如果想要使用非同步通知中心,要使用nsnotificationqueue類。
四、nsnotificationqueue簡介
1.nsnotificationqueue物件作為通知中心(nsnotificationcenter)的乙個緩衝區。
2.當乙個通知中心分發通知的時候,將已經註冊的通知物件放入佇列,通知可以推遲到當前通知佇列執行完畢或者空閒時傳送。
3.重複的通知也可以合併,當有多個一樣的通知存在時,只傳送一次。
4.通知佇列通過乙個先入先出的佇列維護通知(nsnotification)。當通知排到佇列的前面,通知被傳送到通知中心,通知中心將通知傳送到所有註冊的觀察者物件。
5.每個執行緒都有乙個預設的通知佇列,和全域性的nsnotificationcenter繫結。你可以建立你自己的通知佇列,或者為通知中心和執行緒建立多個通知佇列。
五、nsnotificationqueue使用步驟
1.建立新的或者獲取現有的通知佇列,都與全域性通知中心繫結。
例項方法:initwithnotificationcenter:
類方法:defaultqueue
2.新增通知到通知佇列:enqueuenotification:postingstyle:coalescemask:formodes:
從佇列中刪除通知:dequeuenotificationsmatching:coalescemask:
3.當通知新增到佇列中以後,通知會以佇列的方式,排隊傳送。
通知以非同步的方式傳送。
六、ios本地通知
1.uilocalnotification,可用於ios4.0及以上,它可以像推送服務那樣彈出通知,但是只是本地觸發的,非伺服器端觸發。
2.屬性:
(1)firedate:傳送通知的時間
(2)alertbody:彈出框顯示的文字
(3)alertaction:右側按鈕文字
(4)alertlaunchimage:進入程式時,啟動畫面的影象名稱
iOS通知的使用
註冊 nsnotificationcenter defaultcenter postnotificationname changecolor object self 接收處觀察 nsnotificationcenter defaultcenter addobserver self selector ...
iOS通知的簡單使用
ios裡面的推送分為本地推送和遠端推送,遠端推送比較繁瑣,需要一系列證書和divicetoken,才能在真機上測試,也只能在真機上測試。如果不用第三方的推送服務就要自己實現伺服器。所以就先練練本地推送了,本地是可以在模擬器裡面實現的,這僅僅是乙個簡單的使用,因為ios系統對應用做了很大的限制 店大欺...
iOS通知使用示例
通知機制主要用到兩個類 nsnotificationcenter和nsnotification。sender1 和 listener1 分別是自定義的通知發布者和通知監聽者,在通知監聽者中需要有監聽通知的方法。nsnotificationcenter 例項化乙個通知中心類,然後新增通知監聽者,並制定...