iOS KVO概述

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS KVO概述相关的知识,希望对你有一定的参考价值。

ios KVO概述

面试中经常会被问到:什么是KVO?这个问题既然出现概率这么大,那么我们就来详细讲一讲到底什么是KVO。下次再有面试官问你的时候,你就可以娓娓道来,以彰显高逼格

概述

问:什么是KVO?

答:KVO是Key-Value Observing的缩写。它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。

如果你能这样回答,面试官一定不会说你错的,这就是KVO的原理。但是如果你能说出KVO的好处,那一定能赢得面试官的刮目相看。比如:

  • 使用KVO最直接的好处就是可以减少代码量。
  • KVO是观察者设计模式中的一种,有利于业务逻辑于视图控制之间的解耦。

更深刻的了解KVO,你可以动手写一个小demo思路如下:

  • 定义一个对象People,分别有name和age属性
  • 监听People的age属性
  • 定义一个UIButton,在button的点击方法里面,去改变People的age。
  • 你就可以收到age改变时发出来的通知
  • 在对象销毁的时候,移除通知。

 

 

本文出处刚刚在线:http://www.superqq.com/blog/2015/06/05/ios-kvogai-shu-yu-shi-jian/

以上是关于iOS KVO概述的主要内容,如果未能解决你的问题,请参考以下文章

原iOS中KVC和KVO的区别

KVO 的概述与使用

iOS 11. KVO_IS_RETAINING_ALL_OBSERVERS_OF_THIS_OBJECT_IF_IT_CRASHES_AN_OBSERVER_WAS_OVERRELEASED_OR_

iOS底层探索之KVO—自定义KVO

iOS底层探索之KVO—FBKVOController分析

iOS开发底层之KVO探索上 - 17