美文网首页
更好更便捷的使用KVO。

更好更便捷的使用KVO。

作者: a18bbfaeae63 | 来源:发表于2017-06-15 15:25 被阅读18次

Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我们驾驭 Objective-C 动态特性并简化代码的机制。

KVO & KVC精讲

请看这边文章,是国外的大神写的

系统的KVO:

[self.labColor addObserver:self forKeyPath:@"color" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
    // do something...
}

最后还需要移除监听

- (void)dealloc {
    [self.labColor removeObserver:self forKeyPath:@"color"];
}

这种方式不仅需要写的代码多,而且阅读体验差。因此 JJKeyValueObserver 诞生。

您只需要

[JJKeyValueObserver addObserveObject:self.labColor keyPath:@"color" options:NSKeyValueObservingOptionInitial|NSKeyValueObservingOptionNew changeBlock:^(NSDictionary *c) {
        self.colorView.backgroundColor = self.labColor.color;
    }];

即可完成KVO。不需要其他任何代码。

源码请戳这里

相关文章

  • 更好更便捷的使用KVO。

    Key-value coding (KVC) 和 key-value observing (KVO) 是两种能让我...

  • KVO基本使用

    分三部分解释KVO一.KVO基本使用二.KVO原理解析三.自定义实现KVO 一、KVO基本使用 使用KVO,能够非...

  • KVO

    目录 1. KVO的使用1.1 KVO基本使用方法1.2 KVO手动触发模式1.3 KVO属性依赖1.4 KVO容...

  • iOS原理篇(一): KVO实现原理

    KVO实现原理 什么是 KVO KVO 基本使用 KVO 的本质 总结 一 、 什么是KVO KVO(Key-Va...

  • 如何优雅地使用 KVO

    如何优雅地使用 KVO 如何优雅地使用 KVO

  • KVO 原理探究

    [TOC] KVO 研究 没有使用KVO和使用KVO的变化 测试的类Person 通过 objc_copyClas...

  • [iOS] KVO的指导

    nshipster - KVO 如何优雅地使用 KVO

  • iOS-KVO

    一.kvo使用 kvo可以监听一个对象属性的变化,下面为简单使用. 二.使用runtime分析kvo 我写了个简单...

  • KVO如何才能直接监听到数组的变化

    转自关于使用KVO监听数组的问题 首先,数组不能直接使用KVO使用监听。当我们想要使用KVO监听数组的状态时改变然...

  • 20.iOS底层学习之KVO 原理

    本篇提纲1、KVO简介;2、KVO的使用;3、KVO的一些细节;4、KVO的底层原理; KVO简介 KVO全称Ke...

网友评论

      本文标题:更好更便捷的使用KVO。

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