KVO:(Key-Value-Observer)键值观察者,是观察者设计模式的⼀种具体实现。
KVO触发机制:⼀个对象(观察者),监测另⼀对象(被观察者)的某属性是否发⽣变化,若被监测的属性发⽣的更改,会触发观察者的⼀个⽅法(⽅法名固定,类似代理⽅法)
KVO使⽤步骤:
1、注册观察者(为被观察者指定观察者以及被观察属性)
2、实现回调⽅法
3、触发回调⽅法(被观察属性发⽣更改)
4、移除观察者
KVO
KVO使⽤场景:MVC中M与C通信,M发⽣变化通知C。其中M是被观察者,C是观察者。
KVO注意事项:观察者销毁之前,移除观察者,否则会出现程序异常(给已经销毁的对象发送消息)
练习
给Man类的money属性添加观察者。money发⽣变化时,让self.view的背景颜⾊随机改变。
提⽰:界⾯需要包含⼀个输⼊框、⼀个按钮
首先1.创建一个继承于NSObject的Man类并声明一个money属性
在RootViewController.m中