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"];
}


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