KVO监控体系的核心在属性发生的(矢量)(活动)变化而非属性本身的内容
Isa地址指向-IMPSwizzling
待观察的目标属性
待观察的目标属性所归属的(外)上层(构造器)类实例中存在addObserver: forKeyPath:options: context:‘新增监控者’事件 将引起 上层类 实例 的(Isa名称)栈区 指向 中间类(触发中间类里的imp并通过中间类里的协议成员实现协议绑定‘监控者实例’)(KVO体系诞生)
待观察的目标属性所归属的(外)上层(构造器)类实例中存在removeObserver: forKeyPath: context: ‘移除监控者’事件 将引起 上层类 实例 的(Isa名称)栈区 指向 (普通)原来类**(KVO体系销毁)**
observeValueForKeyPath: ofObject: change: context:‘协议回调’事件 需在‘监控者实例’里面做协议imp重构
上层类 实例中任意属性的变化都将导致‘协议回调IMP’的触发
备注:
[[self.person mutableArrayValueForKey:@“dataArray”] addObject:@“元素”];