第一界面:
//通知中心是個(gè)單例
NSNotificationCenter *notiCenter = [NSNotificationCenter defaultCenter];
// 注冊(cè)一個(gè)監(jiān)聽(tīng)事件。第三個(gè)參數(shù)的事件名, 系統(tǒng)用這個(gè)參數(shù)來(lái)區(qū)別不同事件簸喂。
[notiCenter addObserver:self selector:@selector(receiveNotification:) name:@"cesuo" object:nil];
// @selector(receiveNotification:)方法毙死, 即受到通知之后的事件
- (void)receiveNotification:(NSNotification *)noti
{
// NSNotification 有三個(gè)屬性,name, object, userInfo喻鳄,其中最關(guān)鍵的object就是從第三個(gè)界面?zhèn)鱽?lái)的數(shù)據(jù)扼倘。name就是通知事件的名字, userInfo一般是事件的信息除呵。
NSLog(@"%@ === %@ === %@", noti.object, noti.userInfo, noti.name);
}
// 第一界面中dealloc中移除監(jiān)聽(tīng)的事件
- (void)dealloc
{
// 移除當(dāng)前對(duì)象監(jiān)聽(tīng)的事件
[[NSNotificationCenter defaultCenter] removeObserver:self];
[super dealloc];
}
第二界面:
// 創(chuàng)建一個(gè)通知中心
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
// 發(fā)送通知. 其中的Name填寫(xiě)第一界面的Name再菊, 系統(tǒng)知道是第一界面來(lái)相應(yīng)通知, object就是要傳的值颜曾。 UserInfo是一個(gè)字典纠拔, 如果要用的話,提前定義一個(gè)字典泛豪, 可以通過(guò)這個(gè)來(lái)實(shí)現(xiàn)多個(gè)參數(shù)的傳值使用绿语。
[center postNotificationName:@"cesuo" object:@"zhangheng" userInfo:dic];