KVO
2016-01-03 02:13
211 查看
- (void)viewDidLoad { [super viewDidLoad]; self.person = [[Person alloc] init]; self.person.name = @"why"; // 监听person对象name属性发生改变 // Observer : 观察者,谁要做事情谁就成为观察者 // KeyPath : 观察的属性 // options : 传入新值还是旧值 给对象添加监听的方法 [self.person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionOld context:nil]; self.person.name = @"lmj"; } // 1.KeyPath: 属性 2.Object : 观察对象 3.change:存放着对应改变的值 实现监听的方法----监听 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context { NSLog(@"keyPath:%@ object:%@ change:%@", keyPath, object, change); NSLog(@"%@", self.person.name); }
相关文章推荐
- 使用linux下的mail工具给指定主机上指定用户写信或收信
- KVC
- 八.OC基础加强--1.autorelease的用法 2.ARC下内存管理 3.分类(category)4.block的学习
- vim 基础学习之替换
- Ubuntu环境搭建之更新vi
- iOS开发之cocoaPods安装教程
- 利用intent打开另一个应用的功能
- UIImage-拉伸问题
- centOS安装Mysql指南
- Ubuntu环境搭建之输入法的安装
- 链表之判断一个链表是否为回文结构(一)
- UIButton-内边距
- 黑马程序员-OC语言-block
- arm的中断体系结构
- 择机平空单
- 与linux上用户相关的一些命令finger|id|w|who|last|lastlog|write|mesg|wall
- python解决文本乱码问题及文本二进制读取后的处理
- maven3实战之仓库(镜像)
- Maven2 根据项目生成模版项目,并使用该模板批量创建工程
- BZOJ3640 : JC的小苹果