程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> ios-NSnotification 傳遞問題

ios-NSnotification 傳遞問題

編輯:編程綜合問答
NSnotification 傳遞問題

有一個這樣的方法:

-(void)didLoginWithAccount(MyAccount *)account

給這個方法添加了observer :

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:)];

問題是發了通知,怎麼傳遞一個MyAccount對象。

最佳回答:


1.添加觀察者:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didLoginWithAccount:) name:@"app:Login" object:nil];

2.處理方法
而處理的方法didLoginWithAccount: 它的定義應該如下

-(void)didLoginWithAccount:(NSNotification*)notification

3.發送通知,通知觀察者

MyAccount *account=.....;  //得到你的account信息,並傳遞給觀察者
[[NSNotificationCenter defaultCenter] postNotificationName:@"app:Login" object:account userInfo:nil];

需要注意的是無論是定義觀察者還是發送通知,它們的 NotificationName 必須一致,這是通知中心唯一能關聯的方式,以此來判斷是哪個發的通知,又有哪個來接收通知。

在添加觀察者的view 中,獲取傳遞過來的account信息

-(void)didLoginWithAccount:(NSNotification*)notification {
      MyAccount *account=(MyAccount*)[notification object];
      //todo....
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved