KVO

KVO监听对象的属性值改变。不能用于输入框的实时输入监测。

#import <Foundation/Foundation.h>

//为某个对象的某个属性添kvo监听

[self.remarkTextView addObserver:self forKeyPath:@"text" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil];

//移除监听

- (void)dealloc{

[self.remarkTextView removeObserver:self forKeyPath:@"text"];//移除监听

}

//监听值变化

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{

if([keyPath isEqualToString:@"text"]){//这里只处理text属性

if(![[change objectForKey:@"new"]isEqualToString:[change objectForKey:@"old"]]) {

if (self.remarkTextView.text.length == 0) {

self.placeHolderLabel.text = @"请输入您的备注信息";

}else{

self.placeHolderLabel.text = @"";

}

}

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容