响应式编程
在程序开发中:
a = b + c
赋值之后 b 或者 c 的值变化后,a 的值不会跟着变化
响应式编程,目标就是,如果 b 或者 c 的数值发生变化,a 的数值会同时发生变化;
相当于两个具有某种联系的对象,一个对象的变化另一个对象作出相应的动作,
这就是我们所理解的KVO或者通知的原理吧!
KVO实现过程解析:
创建一个person类:
子类实现:
观察者:
检验:
//创建一个父类的对象 Person *p = [[Person alloc] init]; p.age = 0; _person = p; //调用新的注册观察者方法 [p ZHZ_addObserver:self forKeyPath:@"age" options:NSKeyValueObservingOptionNew context:nil]; }
响应:
//响应方法 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context{ NSLog(@"Person Age %d Changed",_person.age); }
转载请注明原文地址: https://ju.6miu.com/read-1302850.html