IOS之KVO
来源:互联网 发布:java heap size 设置 编辑:程序博客网 时间:2024/05/29 06:35
KVO,即Key Value Observing ,它提供了一种机制,就是指定的对象的属性的值被修改后,则对象就会接受到通知,简而言之,每次被指定的的被观察者的对象的属性被修改后,KVO则自动通知观察者!
做了一个简单的例子,如下:
#import "ViewController.h"
#import "Persion.h"
@interface ViewController ()
@property (nonatomic,strong)Persion *p;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//Person只有一个int 类型age属性
Persion *p = [[Persionalloc]init];
p.age = 20;
//添加监听:age,NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld新值和旧值都发给change
[p addObserver:selfforKeyPath:@"age"options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOldcontext:nil];
//改变age的值
p.age = 30;
self.p = p;
}
/**
* 监听到age改变时执行
*
* @param keyPath 监听的属性
* @param object 属性所属的类
* @param change 改变内容
* @param context 监听传递参数(void *)== id
*/
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
NSLog(@"类%@的属性%@的值改变了:%@",[objectclass],keyPath,change);
}
-(void)dealloc
{
//取消对age的监听
[self.premoveObserver:selfforKeyPath:@"age"];
}
2014-12-08 15:39:33.287 KVO[83635:3710613]类Persion的属性age的值改变了:{
kind = 1;
new = 30;//新值
old = 20;//旧值
}
- iOS 编程之 KVO
- IOS之KVO
- IOS 之 KVC & KVO
- IOS之KVO
- iOS 之KVO简介
- ios之KVO机制
- iOS之KVO使用
- iOS之KVC和KVO
- iOS之KVC和KVO
- iOS之KVC和KVO
- IOS之KVC,KVO,KVB
- IOS SDK详解之KVO
- iOS开发之KVC、KVO
- iOS学习之KVO、KVC
- iOS开发之KVC/KVO
- iOS之KVC和KVO
- iOS开发之KVO机制
- [ios开发基础之]KVO的使用
- Android Canvas绘图详解(图文)
- Eclipse在异常关闭后 无法启动 也没有报错信息
- OpenShare新功能@2014年11月 [2014-11-30]
- C语言全局变量那些事儿
- python 操作 excel
- IOS之KVO
- Android Resources Overlay Mechanism
- Oracle与MySQL的几点区别
- adb无法找到设备
- ubuntu jdk环境配置
- c#截取未知长度的字符串前面字符到数字为止
- 阿里云搭建--安装vsftpd
- jersey2
- java 回调与枚举