iOS中通知的使用

2021-07-26 19:10:48 字數 1645 閱讀 1565

一、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 例項化乙個通知中心類,然後新增通知監聽者,並制定...