通知监听

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

我们用到的监听很多,可以帮助我们干很多的事情,我们在监听一些值得变化时候,我们用通知或者KVO是相当方便的 

这里介绍通知简单的用法,KVO随后也会给出实例,还有一点我们需要注意的时通知是 一处发,多处接收 在主线程中执行 

问题来了 既然在主线程中执行,会不会阻塞主线程?  这个问题留给大家思考 

对于一个问题的解决与提出 我们要勤于思考 这样才会进步 

上代码:

- (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    监听对象


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值