object KVC\KVO 简介

一、定义:

  • KVC 是OC一个非正式protocol,提供一种机制来间接访问对象的属性。
  • KVO 是基于监控键值发生变化,通知观察者,典型的观察者模式承载者,KVC实现的关键技术之一。

二、常见方法代码

KVC:

  • valueForkey:、setValue:forKey:
  • valueForKeyPath:、setValue:forKeyPath:

KVO:

  • addObserver: forKeyPath:options:、removeObserver:forKeyPath:、
  • observseValueForKeyPath:ofObject:change:context:

当一个类的属性被观察的时候,系统会通过runtime动态的创建一个该类的派生类。

三、用处

KVC:

  • 对私有变量进行赋值
  • 字典转模型

KVO:

  • 常用模型键值观察
  • MVVM架构的KVOController

四、MVVM、MVVMM架构

视图模块化,把原来的MVC臃肿的Controller拆分为若干易维护的ViewModel,示例代码 想见:
https://github.com/zhujunggsddu/Clock.git

上一篇:什么是MVVM模型


下一篇:10年Android大牛:构建MVVM应用程序只要这几步!真香!