美文网首页
iOS 基础知识整理(二)KVO

iOS 基础知识整理(二)KVO

作者: 化身孤岛的鲸_ca35 | 来源:发表于2018-09-10 13:49 被阅读7次

一般问起来kvo 不知道怎么回答 不就是 一个观察者机制!!!!!!
有什么好问的!!!!

好 现在来整理下 kvo的实现原理

kvo
k- key
v-value
o-observer

kvo遵循了NSKeyValueCoding,是oc对观察者模式的一种实现

实现原理

swift是一个静态语言,没有runtime机制,所以Swift里面想要用runtime 必须继承NSObject

比如说 a 对象被观察 这时候kvo就利用runtime 创建一个notic_a 的类 并且把当前的isa指针执行这个类 这个新类是原来类的子类 还会将原类的实例方法重写
并且 kvo为NSKVONotifion_a重写setter方法,在重写的setter方法中 修改值之前会调用willchangeValue 修改之后会调用didChangeValueForKey最后共这两个方法 将在observalueForKeyPath中被调用

kvo缺点

重复的add和remove导致crash

observer被释放导致崩溃

keyPath传错导致崩溃

相关文章

  • iOS 基础知识整理(二)KVO

    一般问起来kvo 不知道怎么回答 不就是 一个观察者机制!!!!!!有什么好问的!!!! 好 现在来整理下 kv...

  • iOS-KVO(二) 使用注意点

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(三) 窥探底层实现

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(四) 自定义KVO+Block

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS-KVO(一) 基本操作

    iOS-KVO(一) 基本操作iOS-KVO(二) 使用注意点iOS-KVO(三) 窥探底层实现iOS-KVO(四...

  • iOS原理(二)----KVO,KVC

    iOS原理(二)----KVO,KVC KVO KVO的全称是Key-Value Observing,俗称“键值监...

  • iOS KVO基础知识

    iOS KVO基础知识 1. 简介 KVO其实就对应设计模式的观察者模式,观察者能够观察其他对象(被观察者)的属性...

  • iOS - KVO

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

  • swift中KVO和属性观察器

    开篇提醒:OC中的KVO及其KVO的基础知识可参见:深入runtime探究KVO Swift中,原本没有KVO模式...

  • 常用设计模式整理

    ios面试题(整理) ios常用的设计模式有哪些? MVC模式、委托模式、观察者模式(kvo、kvc、通知机制)、...

网友评论

      本文标题:iOS 基础知识整理(二)KVO

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