KVO原理

KOV是利用KVC和通知共同实现的

自动发送通知

需要手动发送通知

+ (BOOL)automaticallyNotifiesObserversForKey:(NSString *)key{
    return NO;
}

在对象中实现反方 系统就不会发出通知了

若想要通知 者需要手动的调用
[clase WillChangeValueForKey:@"name"];
class,name = @"hehe";
[clase didChangeValueForKey:@"name"];

底层实现

在运行时 会创建一个这个"对象"的子类NSKVONotifying_"对象" 把 isa指真指向子类
重写子类的set方法 就行了

注意

只能监听属性

特别注意 NSMutableArray 的设置值

//[class.array addObject:@"ddd"] --这个方法不会调用通知的
要用下面方法
[[class mutableArrayValueForKey:@"array"] addObject:@"ddd"]

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • KVC 1.简介 KVC全称是Key Value Coding(键值编码),是可以通过对象属性名称(Key)直接给...
    Jt_Self阅读 631评论 0 0
  • 提到KVC/KVO大家一定不会陌生,用起来也很简单,下面一起来探究一下它们的实现原理。 一、KVC 1、查找过程 ...
    Tamp_阅读 1,116评论 7 12
  • 前言: 本文基本不讲KVC/KVO的用法,只结合网上的资料说说对这种技术的理解。 由于KVO内容较少,而且是以KV...
    土b兰博王阅读 3,176评论 0 33
  • 《文学自由谈》实在是本好书,也是碎片的电子阅读时代我一直能够坚持下来的纸质刊物。以前,订阅的地址写的是家里,总得不...
    卧闲草堂阅读 311评论 0 0
  • 客户端 发送 client hello 携带信息(主要有tls版本,加密套件列表,随机数) 服务端 收到后 发送 ...
    blue_boy阅读 344评论 0 0

友情链接更多精彩内容