通知中心
訊息————註冊觀察者————監聽有沒有訊息發出----------作出響應
步驟:1. 註冊觀察者
2.傳送訊息
3.移除
kvo
使用方法:
1.- (
void
)viewdidload //
改變背景顏色
- (void
)changecolor:(
nsnotification
*)notify 2.
- (void
bool
)animated 3.
- (void
)dealloc
block .h
//返回值(
名字)(
將來要傳的引數
)//1.
重新命名block
typedef
void
(^passcolor)(
uicolor
*color);
@inte***ce
secondviewcontroller :
uiviewcontroller
//2.
建立乙個
block
物件//copy:
是因為剛開始並不執行
,拷貝複製乙份
,放在乙個地方
,當需要的時候才會開始執行
@property
(nonatomic
,copy
)passcolor
color;
//3.
建立方法從外界傳入乙個
block
- (void
)getblockfromoutspace:(
passcolor
)color;
.m- (
void
)getblockfromoutspace:(
passcolor
)color
- (void
bool
)animated }
.m__block
rootviewcontroller
*root =
self;
//此時
second
對root
就是弱引用,
// 防止迴圈呼叫
,導致的空間不能被釋放掉
,記憶體洩露,
[secondvc getblockfromoutspace
:^(uicolor *color) ];
發布訂閱和觀察者模式的區別
有些人認為觀察者模式就是發布訂閱模式,實際上觀察者模式是包含了訂閱發布模式,發布訂閱模式只是觀察者模式中的一種。觀察者模式是觀察者和被觀察者之間的通訊,而發布訂閱模式中間增加了乙個中轉層,通過第三方來分發資訊。subject為被觀察者,subject中的狀態 state 改變,就通知 observe...
觀察者和發布訂閱模式的區別
觀察者和發布訂閱模式的區別 觀察者模式和發布訂閱模式有什麼區別?大多數的回答都是 publishers subscribers observer pattern,24種基本的設計模式並沒有發布 訂閱模式,發布訂閱模式屬於並髮型模式 像典型的mq 這兩種相似單並不可以劃等號。我們來重新來回顧一下這兩種...
python觀察者模式 python 觀察者模式
python 觀察者模式 前言e 寫的倉促就不截uml類圖了,書本chapter10,p313能看到圖 一旦觀察的主題有更新,就會通知到觀察者們,下面的例子是最簡單的乙個觀察者範例,假設這是一群投機分子密切關注 軍 火 倉庫的產品與數量變動 class inventory def init self...