IOS 開發 通知傳值

第三個界面的值傳給第一個界面。

1. 在第一個界面建立一個通知中心, 通過通知中心,注冊一個監聽事件


2. 在第一個界面中,設置接收到通知的事件。


3. 在第一個界面中的dealloc中, 將通知中心remove掉


4. 在第三個界面中, 建立一個通知中心, 通過通知中心, 發送通知(發送通知的過程就是傳值的過程,將要傳輸的值作為object的值傳給第一個界面?


代碼片段:

第一界面:

//通知中心是個單例

NSNotificationCenter*notiCenter = [NSNotificationCenterdefaultCenter];


?// 注冊一個監聽事件。第三個參數的事件名, 系統用這個參數來區別不同事件。

[notiCenteraddObserver:selfselector:@selector(receiveNotification:)name:@"cesuo"object:nil];


//@selector(receiveNotification:)方法, 即受到通知之后的事件

- (void)receiveNotification:(NSNotification?*)noti

{

? ???// NSNotification 有三個屬性,name, object, userInfo,其中最關鍵的object就是從第三個界面傳來的數據。name就是通知事件的名字, userInfo一般是事件的信息。

NSLog(@"%@ === %@ === %@", noti.object, noti.userInfo, noti.name);

?}


? ? ?// 第一界面中dealloc中移除監聽的事件

- (void)dealloc

{

//移除當前對象監聽的事件

[[NSNotificationCenterdefaultCenter]removeObserver:self];

[superdealloc];

}


第二界面:?

? ? ?// 創建一個通知中心

NSNotificationCenter*center = [NSNotificationCenterdefaultCenter];


? ? ?// 發送通知. 其中的Name填寫第一界面的Name, 系統知道是第一界面來相應通知, object就是要傳的值。 UserInfo是一個字典, 如果要用的話,提前定義一個字典, 可以通過這個來實現多個參數的傳值使用。


[centerpostNotificationName:@"cesuo"object:@"zhangheng"userInfo:dic];

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 概述 在多數移動應用中任何時候都只能有一個應用程序處于活躍狀態,如果其他應用此刻發生了一些用戶感興趣的那么通過通知...
    莫離_焱閱讀 6,543評論 1 8
  • 1.KVO,即:Key-Value Observing,它提供一種機制,當指定的對象的屬性被修改后,則對象就會接受...
    BEYOND黃閱讀 1,551評論 0 6
  • 通知中心(NSNotificationCenter) 通知(NSNotification) 一個完整的通知一般包含...
    JonesCxy閱讀 510評論 0 1
  • 農民工 弓著脊背 任陽光 把黃皮膚染成黑種人 腳手架一天天升高 城市巨變 汗珠 浸透工作服 畫出一圈一圈鹽堿白 鋼...
    瓶水之冰閱讀 123評論 1 3
  • 人生總是這樣的,從第一次睜開雙眼,我們便在世界溫柔的懷抱中被賦予了一顆堅定的心;從第一次邁出淺淺的步子,便踏上了一...
    發呆的麻薯閱讀 166評論 0 0