ios訊息機制基於廣播模型;
訊息中心(nsnotificationcenter)是基於程序的單件例項;訊息佇列(nsnotificationqueue)是基於執行緒的,每個執行緒都有乙個預設的訊息佇列,這個佇列相關聯於訊息中心,每個訊息中心或執行緒可以關聯於多個佇列。
訊息中心是採用同步方式;訊息佇列採用非同步方式;
訊息中心例項:
nsnotificationcenter*nc = [nsnotificationcenter
defaultcenter];
訂閱事件:
[nc
addobserver:self
selector:@selector(observenotification:)name:@"observenotification"
object:nil];
發布事件:
[nc
postnotificationname:
@"observenotification"
object:
nil];
訊息佇列例項:
nsnotificationqueue*nq = [nsnotificationqueue
defaultqueue];
發布非同步事件:
[nq
enqueuenotification:[
nsnotificationnotificationwithname:
@"observenotification"
object:
nil]postingstyle:nspostasap];
IOS訊息分發(廣播)機制
在ios中,提供了通知機制 notification 可以在物件間傳遞和接受資訊。傳遞和接受資訊的物件間甚至不需要知道對方的存在。究其本質來說,其實是設計模式中的觀察者模式的應用。一種更好的方式,就是使用ios中的notification機制。notification由三部分組成 傳送訊息者 訊息中...
IOS 廣播機制與 android 廣播機制對比
android下廣播機制的實現機制 1.傳送 context的 sendbroadcast實現,傳入intent即可,intent提供了攜帶很多基本型別等的方法,如果想傳遞複雜物件,應該實現parcelable介面,parcelable介面提供了物件序列化的一系列方法。2.接收 接收主要有兩種方法 ...
IOS 廣播機制與 android 廣播機制對比
android下廣播機制的實現機制 1.傳送 context的 sendbroadcast實現,傳入intent即可,intent提供了攜帶很多基本型別等的方法,如果想傳遞複雜物件,應該實現parcelable介面,parcelable介面提供了物件序列化的一系列方法。2.接收 接收主要有兩種方法 ...