美文网首页专注iOS开发(OC/Swift)
iOS-底层知识解析->KVO

iOS-底层知识解析->KVO

作者: 洲洲哥 | 来源:发表于2019-02-18 22:25 被阅读3次

KVO本质

对象被添加KVO以后,系统会利用runtime派生一个[NSKVONotifyin_Person]作为监听[Person]的子类。他的superclass指针指向Person类,并且NSKVONotifyin_Person内部会重新对属性的setter方法重写。并且派生类中会重写监听属性的setter方法、重写class方法、重写dealloc方法和_isKVOA方法等。且set方法内部会顺序调用willChangeValueForKey方法,原来的setter方法、didChangeValueForKey方法,而didChangeValueForKey方法内部又会调用监听器的observeValueForKeyPath:ofObject:change:context:监听方法。如果只单单调用didChangeValueForKey是不会生效,所有在该方法内部会有判断是否调用willChangeValueForKey方法在先

派生类中各个方法返回和定义

1:其中class方法时返回监听类的类对象
2:dealloc是及时释放派生类的中kvo对象(可能是)
3:_isKVOA 直接放回YES

调用KVO顺序如下

1: willChangeValueForKey
2:父类的setter方法
3:didChangeValueForKey
即可触发KVO

  • 如有问题可添加QQ群:234812704
  • 欢迎各位一块学习,提高逼格!
  • 也可以添加洲洲哥的微信公众号

可以来微信公众号(洲洲哥)后台给我留言。 快来扫码关注我们吧!

公众号二维码

相关文章

  • iOS-底层知识解析->KVO

    KVO本质 当对象被添加KVO以后,系统会利用runtime派生一个[NSKVONotifyin_Person]作...

  • iOS - KVO

    [toc] 参考 KVO KVC 【 iOS--KVO的实现原理与具体应用 】 【 IOS-详解KVO底层实现 】...

  • iOS-底层原理21-KVO(下)

    iOS-底层原理21-KVO(下) 《iOS底层原理文章汇总》[https://www.jianshu.com/p...

  • 底层原理

    iOS底层原理总结 - Category的本质 KVO详解及底层实现青少年一定要读的KVO指南 iOS 底层解析w...

  • iOS-底层原理 06:malloc 源码分析 思路

    iOS-底层原理 06:malloc 源码分析 在iOS-底层原理 02:alloc & init & new 源...

  • KVO 解析

    KVO解析(一) —— 基本了解KVO解析(二) —— 一个简单的KVO实现KVO解析(三) —— KVO合规性K...

  • iOS:KVC原理分析

    目录一,基本知识二,setValue:forKey:底层原理三,valueForKey:底层原理四,触发KVO五,...

  • IOS-详解KVO底层实现

    一、KVO (Key-Value Observing) KVO 是 Objective-C 对观察者模式(Obse...

  • iOS-底层-KVO和KVC

    一. KVO 1. KVO的基本使用 KVO的全称是Key-Value Observing,俗称“键值监听”,可以...

  • 可能碰到的iOS笔试面试题(7)--KVO-KVC

    KVC-KVO KVC的底层实现? KVO的底层实现? 什么是KVO和KVC? KVO的缺陷? KVO是一个对象能...

网友评论

    本文标题:iOS-底层知识解析->KVO

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