iOS學習記錄 設計模式 觀察者模式

2021-07-04 23:18:46 字數 380 閱讀 6797

觀察者模式

ios開發中常用到的2種觀察者模式方法:

1.通知模式:

物件;觀察者:在通知中心註冊,接收通知的物件;

新增觀察者和相應處理方法等

通知:封裝了物件訊息的物件;

通知中心以廣播形式發出通知,對於所有通知名相同的觀察者都發出通知;首先篩選註冊通知名與通知相同的觀察者,並存入陣列,完成篩選後,對該陣列遍歷呼叫註冊的selector:performselector:  withobject: ,引數便是通知物件;

通知的觀察者要是沒有從通知中心移除便被銷毀了或者沒有實現相應的selector都會導致崩潰;

2.kvo:

iOS 觀察者設計模式

觀察者模式用於當某件事情發生時去執行某事 當某件事發生的時候,就會通知所有的觀察者 1.首先要新增觀察者 或者稱為監聽者 因為生產者需要維護這乙個所有觀察者的陣列,當某件事情發生時就迴圈這個資料,依次進行對每個觀察者進行通知 2.當某件時發生時就傳送通知 在ios中觀察者模式已經被封裝成了nsnot...

iOS設計模式 觀察者

ios設計模式 觀察者 原理圖 1.cocoa框架本身實現了觀察者模式 通知中心以及kvo 2.本人所寫的例子,實現了通知中心,其特殊的地方在於,不用移除訂閱了通知的物件原始碼 observerpattern created by youxianming on 15 7 29.import impo...

python 設計模式 觀察者 觀察者設計模式

在觀察者設計模式這種模式中,物件被表示為等待事件觸發的觀察者。一旦發生指定的事件,觀察者就會關注該主體。當事件發生時,主體告訴觀察者它已經發生。以下uml圖表示觀察者模式 如何實現觀察者模式?現在讓我們來看看如何實現觀察者模式。參考以下實現 import threading import time ...