KVOController的使用

作者: 木槿WEIXIAO | 来源:发表于2017-09-27 12:08 被阅读19次

KVOController 是一个简单安全的 KVO(Key-value Observing,键-值 观察)工具,用于 iOS 和 OS X 应用开发中,开源自 facebook。

KVO 是一个在 MVC(Model-View-Controller)应用程序开发中,用于不同模块间交流的一个很有用的技术。 KVOController 是基于 Cocoa 久经考验的 Key-value Observing 实现(implementation)开发而成的。它提供了一个简单现代的 API,同时也是线程安全的。它有如下优点:

1.不需要手动移除观察者;框架自动帮我们移除观察者

2.使用 block 来替代方法能够减少使用的复杂度,提升使用 KVO 的体验;block或者selector的方式,方便使用

3.每一个 keyPath 会对应一个属性,不需要在 block 中使用 if 判断 keyPath;一个keyPath对应一个SEL或者block,不需要统一的observeValueForKeyPath方法里写if判断


KVOControlle的实现只需要一个方法

方法1:检测单个属性的变化

方法2:检测多个属性变化

fbKVO = [FBKVOController controllerWithObserver:self];

一:kvo值检测类型;

1:NSKeyValueObservingOptionNew 传递变化之后的值;

2:NSKeyValueObservingOptionOld 传递变化之前的值;

3:NSKeyValueObservingOptionInitial 观察者会在程序初始时,也就是观察变化之前,优化执行一次 观察动作;即上述执行上面 block操作一次;并且传递 默认的值,和以后传递 变化后的值;

4:NSKeyValueObservingOptionPrior 会调用两次观察者操作,值改变之前,值改变之后;

二:获取

kvo的值;

change[NSKeyValueChangeNewKey]   新值;

change[NSKeyValueChangeOldKey]    旧值;

change[FBKVONotificationKeyPathKey]  改变的属性;

*/

相关文章

  • KVO

    优雅地使用KVO FaceBook KVOController使用 KVOController 进行键值观测可以说...

  • KVOController的使用

    KVOController 是一个简单安全的 KVO(Key-value Observing,键-值 观察)工具,...

  • KVOController的使用

    虽然简单,但上面的例子是完整的。时钟视图创建一个KVO控制器来观察时钟日期属性。块回调用于处理初始和更改通知。由于...

  • 关于KVO的使用,以及KVOController

    记得在面试的时候一直都是在简历上写熟悉KVO,KVC,发现工作以后从没用到。后来发现写项目的时候,KVO确实是一项...

  • 简析KVOController实现原理

    KVOController是FaceBook的一个开源库,提供了方便的姿势让你去使用KVO。https://git...

  • KVOController

    KVOController是目前OC上用的最多的KVO的第三方库,facebook出品。有以下特点: 提供bloc...

  • 如何优雅地使用 KVO

    https://draveness.me/kvocontroller

  • KVOController简析

    关于KVO的使用,最常用的一个类库就是FB的KVOController了,还有一个HTBKVObservation...

  • KVOController详解

    KVO在MVC架构的项目中是一种特别有用的技术。KVOController建立在Cocoa经受时间考验的KVO实现...

  • FBKVOController

    学习cocoapods下的KVOController github源码地址 facebook/KVOControl...

网友评论

    本文标题:KVOController的使用

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