美文网首页ios面试题
KVO基本原理?

KVO基本原理?

作者: 充满活力的早晨 | 来源:发表于2018-04-09 18:03 被阅读17次
  • 1 )KVO是基于runtime机制实现的

  • 2 )当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类,在这个派生类中重写基类中任何被观察属性的setter 方法。派生类在被重写的setter方法内实现真正的通知机制

  • 3 )如果原类为Person,那么生成的派生类名为NSKVONotifying_Person

  • 4 )每个类对象中都有一个isa指针指向当前类,当一个类对象的第一次被观察,那么系统会偷偷将isa指针指向动态生成的派生类,从而在给被监控属性赋值时执行的是派生类的setter方法

  • 5 )键值观察通知依赖于NSObject 的两个方法: willChangeValueForKey: 和 didChangevlueForKey:;在一个被观察属性发生改变之前, willChangeValueForKey:一定会被调用,这就 会记录旧的值。而当改变发生后,didChangeValueForKey:会被调用,继而 observeValueForKey:ofObject:change:context: 也会被调用。

摘自文章

相关文章

  • KVO的原理

    KVO基本原理: KVO深入原理: 适用于:

  • 知识集锦

    https://github.com/starainDou 欢迎点星 KVO实现原理 KVO基本原理: 1 kvo...

  • 《iOS知识大全》

    KVO实现原理 1.基本原理 2.待续

  • iOS- KVO的底层实现/响应式编程

    KVO 是 Objective-C 对观察者设计模式的一种实现 KVO基本原理 当观察某对象 A 时,KVO 机制...

  • iOS 进阶原理知识笔记

    KVO实现原理 KVO基本原理: 1 kvo是基于runtime机制实现的 2 当某个类的属性对象第一次被观察时,...

  • iOS 进阶原理知识随笔

    KVO实现原理 KVO基本原理: 1 kvo是基于runtime机制实现的 2 当某个类的属性对象第一次被观察时,...

  • iOS 进阶原理知识笔记

    KVO实现原理 KVO基本原理: kvo是基于runtime机制实现的 当某个类的属性对象第一次被观察时,系统就会...

  • iOS开发 KVO底层实现初步了解

    本文主要分为2个部分:KVO的基本底层原理,KVO容器类如何监听 。 一.基本原理 Apple中对KVO是这么说的...

  • ios开发进阶基础知识

    KVO实现原理 KVO基本原理: kvo是基于runtime机制实现的 当某个类的属性对象第一次被观察时,系统就会...

  • ios原理分析

    KVO实现原理 KVO基本原理: kvo是基于runtime机制实现的 当某个类的属性对象第一次被观察时,系统就会...

网友评论

    本文标题:KVO基本原理?

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