addObserver:forKeyPath:options:c
找了半天原因
插着线运行到手机上就不崩溃
拔了数据线直接app就崩溃。。。
最后大致定位到kvc这
初始化的时候加上了
if ([self observationInfo]){
}else{
[self.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil];
}
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context{
if ([keyPath isEqualToString:@"contentSize"]) {
//要做的操作
}else{
[super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
}
}
-(void)dealloc{
if ([self observationInfo]){
@try {
[self.scrollView removeObserver:self forKeyPath:@"contentSize" ];
} @catch(id exception){
}
}
}
追究最终原因可能是删除跟添加的次数不吻合
或者 删除的时候还没添加之类的问题