2013年3月19日 星期二

發佈自定的 Notification

在之前的 Remote Control 的教學中有說到可以做在 appDetegate 中
但是在其他的 ViewController 要怎麼收到這些訊息了?
最簡單的是使用 Notification,但是要如何使用了?

在絕大部分的教學書都有說到如何接收 NotificationCenter 的訊息
但是很少書本有說到要如何發佈自定的 Notification 訊息,
其實很簡單,作法如下
[[NSNotificationCenter defaultCenter] postNotificationName:@"發佈的訊息名稱" object:nil];

這樣子就會在觸發這行時發佈出 Notification 訊息,這時候在需要接收的 Class 中做註冊 NotificationCenter 的動作
[[NSNotificationCenter defaultCenter] addObserver:self selector:接收到訊息所觸發的動作  name:@"發佈的訊息名稱" object:nil];

這時候就可以收到訊息時做相對映的動作了,當然有註冊訊息就有注銷訊息,
在你不需要接收訊息的時候就要做注銷的動作,注銷的方法如下,
[[NSNotificationCenter defaultCenter] removeObserver:self  name:@"發佈的訊息名稱" object:nil];

注銷後就不會再接收到訊息的,除非你再度註冊。

這次的教學就到此為止,下次的教學再見了。