kvo

kvo,(key-value-observing),观察者模式。可以简单理解为监听属性,发生变化后,执行相应的方法。

一般使用三步走:

1:注册监听

2:实现方法

3:移除监听

简单监听textField:

- (void)viewDidLoad {
    [super viewDidLoad];
    [_textField addObserver:self forKeyPath:@"text" options:0 context:nil];
}
- (IBAction)btn:(id)sender {
    _textField.text = @"abc";
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context{
    if ([keyPath isEqualToString:@"text"] && object == self.textField) {
        NSLog(@"textFieldValue is :%@",_textField.text);
    }
}
-(void)dealloc{
    [_textField removeObserver:self forKeyPath:@"text"];
}


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