【iOS】通知监听

时间:2023-01-13 15:01:41

下例为:监听文本框  accountField  内容的改变, 当发生改变时, 调用textChange方法(多次)。监听结束需要移除通知。

- (void)viewDidLoad
{
[super viewDidLoad]; // 1.监听通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.accountField];
}
//监听结束需要移除
- (void)dealloc
{
[[NSNotificationCenter defaultCenter] removeObserver:self];
} /**
* 文本框的文字发生改变的时候调用
*/
- (void)textChange
{
self.loginBtn.enabled = (self.accountField.text.length && self.pwdField.text.length);
}

1. addObserver:self

2. selector:@selector(textChange)  监听到,执行方法。

3. name:UITextFieldTextDidChangeNotification  枚举类型。

4. object:self.accountField    监听对象