美文网首页iOS倒计时
addObserver:forKeyPath:options:c

addObserver:forKeyPath:options:c

作者: 铁汁红豆 | 来源:发表于2020-06-08 11:46 被阅读0次

找了半天原因

插着线运行到手机上就不崩溃

拔了数据线直接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){           

          }    

}

}  

追究最终原因可能是删除跟添加的次数不吻合

或者 删除的时候还没添加之类的问题

相关文章

  • addObserver:forKeyPath:options:c

    找了半天原因 插着线运行到手机上就不崩溃 拔了数据线直接app就崩溃。。。 最后大致定位到kvc这 初始化的时候加...

  • KVO

    KVO 添加 addObserver:forKeyPath: options:context: observer ...

  • KVO原理

    原理 调用 [p1 addObserver:self forKeyPath:@"name" options:...

  • KVO内部实现原理

    KVO接口说明 注册:addObserver:forKeyPath:options:context: 例如 [se...

  • 2018-02-14

    探究KVO的底层实现原理 addObserver:forKeyPath:options:context:各个参数的...

  • KVO底层实现

    底层是监听set方法当调用addObserver: forKeyPath: options: context:的时...

  • KVO的底层实现原理

    addObserver:forKeyPath:options:context:各个参数的作用分别是什么, obse...

  • KVO观察者的注册、响应、清除对象

    addObserver:forKeyPath:options:context:各个参数的作用分别是什么?obser...

  • 探究KVO的底层实现原理

    addObserver:forKeyPath:options:context:各个参数的作用分别是什么, obse...

  • KVO的使用

    addObserver:forKeyPath:options:context:通知其他对象的方法,这个方法在NSO...

网友评论

    本文标题:addObserver:forKeyPath:options:c

    本文链接:https://www.haomeiwen.com/subject/iscgzhtx.html