通知機制和KVO機制

2021-06-22 00:49:55 字數 659 閱讀 5192

在cocoa  touch框架中,觀察者模式的具體應用有兩個,即通知機制和kvo(key - value - observing)模式機制。

通知機制:

通知機制與委託機制不同的是,通知是一對多的物件之間的通訊,而委託則是一對一物件之間的通訊。

歸納一下通知主要有廣播通知(broadcast notification),本地通知(local notification ),和推送通知(push notification),其中廣播通知和其他兩個通知是完全不同的,

廣播通知是cocoa touch框架中實現觀察者模式的一種機制,可以在乙個應用內部的多個物件之間傳送訊息;

本地通知和推送通知中的「通知」,是給使用者的一種提示,提示方式主要包括,警告對話方塊,發出聲音,震動等等,在計畫的時間內達到時,本地通知由本地的ios發出,推送通知是由第三方的程式傳送給蘋果的遠端伺服器,再由遠端伺服器傳送給特定的應用。

kvo機制:

kvo不通知機制那樣通過乙個通知中心將訊息傳送給多個觀察者物件,而是在物件的屬性發生變化時通知會被直接傳送到觀察者物件。屬性發生變化的物件會發出訊息 addobserv

er :forkeypath :options:context:給觀察註冊者,讓觀察者可以觀察到某個屬性的變化,當物件的屬性發生變化時,觀察者就會收到訊息,觀察者需要重寫上面的方法,來響應屬性的變化。

等待 通知機制

waitnotify模式的注意事項 經典案例生產者消費者模式實現 實戰等待通知之交叉備份 舉例說明,廚師和服務員之間的互動 1.廚師做完一道菜的時間不確定,所以廚師將菜品放到 菜品傳遞臺 上的時間也不確定 2.服務員取到菜的時間取決於廚師,所以服務員就處於等待狀態 3.服務員如何取到菜呢?又得取決於...

IOS推送通知機制和流程

上圖可以分為三個階段 第一階段 應用程式的伺服器端把要傳送的訊息 目的iphone的標識打包,發給apns。第二階段 apns在自身的已註冊push服務的iphone列表中,查詢有相應標識的iphone,並把訊息傳送到iphone。第三階段 iphone把發來的訊息傳遞給相應的應用程式,並且按照設定...

epoll,IO事件通知機制

epoll 是poll的變種,它可以用來監視大批量的檔案描述符集,同時提供兩種觸發介面方式 邊緣觸發 edge triggered 和水平觸發 level trigered 通過使用以下的系統呼叫來建立和管理epoll例項。include int epoll create int size int ...