KVO:时刻监听一个对象里面的属性改变(观察者,给一个对象添加一个观察者,时刻监听这个对象里面的属性的改变)
- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context;
Observer:观察者
keyPath: 观察者属性
options:观察新值的改变
在控制器销毁的时候dealloc里要移除观察者
// 销毁的时候移除观察者
- (void)dealloc
{
[_mianView removeObserver:self forKeyPath:@"frame"];
}
监听属性的变化
// 值改变的时候调用
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"%@",NSStringFromCGRect(_mianView.frame));
}