在ios開發中,通知機制和KVO都是依靠觀察者模式得以實現。通知機制與KVO的不同之處在於,前者是一個中心對象為所有觀察者提供變更通知,后者是被觀察對象直接向觀察者發送通知。
以下關注觀察者模式與通知機制實現:
1、觀察者模式中Subject對象,又可稱目標對象,是通知的發布者,又是被觀察者。提供注冊和取消注冊的方法;Observer對象,又可稱為觀察者,是通知的訂閱者。Observer類中,相識Subject,以達到能夠接收通知。
2、ios中的通知機制,是Cocoa Touch框架為開發者開發的類,讓開發者不必自己寫觀察者模式,用到它便能實現。對於我而言,通知機制的所有使用,都集中到一個類中。而導致我用通知機制去理解觀察者模式時,迷糊於Subject和Observer,誰是通知的發送者,因為類中集結了觀察者和發送者。
