您好,欢迎来到二三娱乐。
搜索
您的当前位置:首页如何手动触发一个value的KVO

如何手动触发一个value的KVO

来源:二三娱乐

所谓的“手动触发”是区别于“自动触发”:

自动触发是指类似的这种场景:
在注册KVO之前设置一个初始值,
注册之后设置一个不一样的值,就可以触发了。

想知道如何手动触发,必须知道自动触发KVO的原理:

键值观察通知依赖于NSObject的两个方法:
willChangeValueForKey:和didChangeValueForKey:。
在一个被观察属性发生改变之前,willChangeValueForKey:一定会被调用,这就会记录旧的值。
而当改变发生后,didChangeValueForKey:会被调用,
继而objectServeValueForKey:ofObject:change:content:也会被调用。
如果可以手动实现这些调用,就可以实现“手动触发”了。

转载自《猿圈》

那么“手动触发”的使用场景是什么?一般我么只在希望能控制“回调的调用时机”时才会这样做。

</br>
</br>

Copyright © 2019- yule263.com 版权所有 湘ICP备2023023988号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务