OC 消息發(fā)送--通知

通知介紹

  1. Notification:觀察者模式, 通常發(fā)送者和接收者的關系是間接的多對多關系珠叔。消息的發(fā)送者告知接收者事件已經發(fā)生或者將要發(fā)送录豺,僅此而已紧卒,接收者并不能反過來影響發(fā)送者的行為

  2. // 發(fā)送通知用 post 接收通知用 add observer 即為監(jiān)聽該通知
    [[NSNotificationCenter defaultCenter] postNotificationName:@"huoying"
    object:
    userInfo: ];所有信息放入userInfo中

  3. // 讓控制器成為監(jiān)聽者
    [[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(keyboardWillChangeFrame:)
    name:@"huoying" object:nil];

warning 一定不要忘記移除 監(jiān)聽者
  • (void)dealloc {
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    }

通知的代碼示例

person類

@interface Person : NSObject
@property (nonatomic, copy) NSString *name;
-(void)didReceiveNotification:(NSNotification *)noti;
@end

@implementation Person
-(void)didReceiveNotification:(NSNotification *)noti {

NSDictionary *dict = noti.userInfo;

Person *p = dict[@"person"];

Company *c = dict[@"company"];

NSLog(@"%@, 訂閱了 %@, %@ 更新了!!!",p.name, c.name, c.videoName);

}

-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
}

主方法添加監(jiān)聽者

// 創(chuàng)建兩個人 對象
Person p1 = [Person new];
p1.name = @"張三";
Person p2 = [Person new];
p2.name = @"李四";
// 1. 添加監(jiān)聽者
// 張三, 監(jiān)聽了 火影忍者
/

addObserver : 監(jiān)聽者
selector : 監(jiān)聽者, 所需要具有的方法, 當監(jiān)聽者接收到通知的時候, 會調用
name : 通知的名稱
object : 消息的發(fā)送者, 可以傳遞為nil
*/
[[NSNotificationCenter defaultCenter] addObserver:p1
selector:@selector(didReceiveNotification:)
name:@"huoying"
object:tudouNinja];
// 李四, 監(jiān)聽了 屌絲男士
[[NSNotificationCenter defaultCenter] addObserver:p2
selector:@selector(didReceiveNotification:)
name:@"Diaosi"
object:nil];

發(fā)送通知

// 2. 在適當時候 , 發(fā)出通知
// 火影忍者的更新
[[NSNotificationCenter defaultCenter] postNotificationName:@"huoying"
object:tudouNinja
userInfo:@{@"person":p1, @"company": tudouNinja}];

// 屌絲男士更新
[[NSNotificationCenter defaultCenter] postNotificationName:@"Diaosi"
object:souhuDiaosi
userInfo:@{@"person":p2, @"company": souhuDiaosi}];

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末质蕉,一起剝皮案震驚了整個濱河市蔓同,隨后出現(xiàn)的幾起案子涮拗,更是在濱河造成了極大的恐慌狮鸭,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件多搀,死亡現(xiàn)場離奇詭異歧蕉,居然都是意外死亡,警方通過查閱死者的電腦和手機康铭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門惯退,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人从藤,你說我怎么就攤上這事催跪。” “怎么了夷野?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵懊蒸,是天一觀的道長。 經常有香客問我悯搔,道長骑丸,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任妒貌,我火速辦了婚禮通危,結果婚禮上,老公的妹妹穿的比我還像新娘灌曙。我一直安慰自己菊碟,他們只是感情好,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布在刺。 她就那樣靜靜地躺著逆害,像睡著了一般头镊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上魄幕,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天相艇,我揣著相機與錄音,去河邊找鬼梅垄。 笑死,一個胖子當著我的面吹牛输玷,可吹牛的內容都是我干的队丝。 我是一名探鬼主播,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼欲鹏,長吁一口氣:“原來是場噩夢啊……” “哼机久!你這毒婦竟也來了?” 一聲冷哼從身側響起赔嚎,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤膘盖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后尤误,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侠畔,經...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年损晤,在試婚紗的時候發(fā)現(xiàn)自己被綠了软棺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡尤勋,死狀恐怖喘落,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情最冰,我是刑警寧澤瘦棋,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站暖哨,受9級特大地震影響赌朋,放射性物質發(fā)生泄漏。R本人自食惡果不足惜篇裁,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一箕慧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧茴恰,春花似錦颠焦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粉渠。三九已至,卻和暖如春圾另,著一層夾襖步出監(jiān)牢的瞬間霸株,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工集乔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留去件,地道東北人。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓扰路,卻偏偏與公主長得像尤溜,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子汗唱,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內容