博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
KVO
阅读量:5993 次
发布时间:2019-06-20

本文共 826 字,大约阅读时间需要 2 分钟。

KVO,即:Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。

KVO其实也是“观察者”设计模式的一种应用。我的看法是,这种模式有利于两个类间的解耦合,尤其是对于 业务逻辑与视图控制 这两个功能的解耦合

 

/* 声明一个对象,并添加KVO机制 */         Walker  *_walker = [[Walker alloc] initWithName:@"老翁" age:25];     /* 关键步骤 */     [_walker addObserver:self               forKeyPath:@"age"                  options:NSKeyValueObservingOptionNew                  context:nil];

  

 
 
/* KVO function, 只要object的keyPath属性发生变化,就会调用此函数*/ - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {     if ([keyPath isEqualToString:@"age"] && object == _walker) {         _ageLabel.text = [NSString stringWithFormat:@"%@现在的年龄是: %d", _walker.name, _walker.age];    }}

 

转载于:https://www.cnblogs.com/samniu/p/3920302.html

你可能感兴趣的文章
疯狂ios之cocos2d中的文本
查看>>
Mac下通过 brew 安装不同版本的php
查看>>
云在天之南——我的七天七夜(率性苍山洱海)
查看>>
如何迅速入门Shell 编程
查看>>
Linux企业应用微博客正式开通
查看>>
64位linux下的gns3网络模拟器配置
查看>>
效果差学费贵售后难,VIPKID米雯娟的野心不能只靠“烧钱”营销
查看>>
Windows Server 2012 R2 WSUS-10:流程概述
查看>>
自动发现服务是怎样工作的?
查看>>
Office 365 系列之七:安装Office 365 ProPlus
查看>>
闲诗一首:《莫追梦》
查看>>
Cisco/H3C交换机配置与管理完全手册(第2版)卓越网正式到货
查看>>
让VMware ESX中的虚拟机随esx开机自动启动
查看>>
rhel6.5解决包的依赖的一个处理方法
查看>>
小功能隐藏着大学问---windows的ACL带来的挑战
查看>>
RSA2012系列(4):网络战揭秘
查看>>
Puppet扩展篇6-通过横向扩展puppetmaster增加架构的灵活性
查看>>
西安OpenParty11月29日活动高清图文回顾——新增西安APEC蓝美图!
查看>>
SFB 项目经验-16-呼叫前客户端性能测试
查看>>
我是如何帮助创业公司改进企业工作的
查看>>