iOS NSNotificationCenter詳解

作用:NSNotificationCenter是專門供程序中不同類間的消息通信而設置的.

註冊通知:即要在什麼地方接受消息

               [[NSNotificationCenter defaultCenter]  addObserver:self selector:@selector(mytest:) name:@" mytest" object:nil]

      參數介紹:

          addObserver: 觀察者,即在什麼地方接收通知;

        selector: 收到通知後調用何種方法;

        name: 通知的名字,也是通知的唯一標示,編譯器就通過這個找到通知的。

發送通知:調用觀察者處的方法。

           [[NSNotificationCenter defaultCenter] postNotificationName:@"mytest" object:searchFriendArray];

          參數:

         postNotificationName:通知的名字,也是通知的唯一標示,編譯器就通過這個找到通知的。

                 object:傳遞的參數



1.簡單實例

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 1.監聽通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.accountField];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.pwdField];
   
}
<span style="color:#FF0000;">//2.</span>
- (void)dealloc
{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

<span style="color:#FF0000;">/**
 *  3.文本框的文字發生改變的時候調用</span>
 */
- (void)textChange
{
    // 控制按鈕的狀態
//    if (self.accountField.text.length && self.pwdField.text.length) {
//        self.loginBtn.enabled = YES;
//    } else {
//        self.loginBtn.enabled = NO;
//    }
    self.loginBtn.enabled = (self.accountField.text.length && self.pwdField.text.length);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章