-observeValueForKeyPath:ofObject:change:context: message was received but not handled.

来源:互联网 发布:风险评价矩阵 编辑:程序博客网 时间:2024/05/18 16:55

KVO报错
使用:A对象监听B对象中某个属性值的修改,在B对象上添加监听
添加监听:
[B addObserver:A forKeyPath:@”B的属性” options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];

监听回调:
-(void)observeValueForKeyPath:(NSString )keyPath ofObject:(id)object change:(NSDictionary )change context:(void *)context
{
if ([@”属性名称” isEqualToString:keyPath]) {
//自己的逻辑处理
// object为B对象
//值的变化情况可以通过change获取
}
}

报错解决:
在同一个对象上仿佛的添加监听就会报该错误,解决办就是在添加监听前保证对象没有被监听。
-(void)dealloc // ARC模式下
{
[sectionModel removeObserver:self forKeyPath:@”isDone”];
}

0 0
原创粉丝点击