KVO
2016-07-20 10:18
393 查看
- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor =[UIColor whiteColor]; stock =[[stockForKVO alloc]init]; [stock setValue:@"searph" forKey:@"stockName"]; [stock setValue:@"10.0" forKey:@"price"]; [stock addObserver:self forKeyPath:@"price" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil]; myLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 100, 100, 30 )]; myLabel.textColor = [UIColor redColor]; myLabel.text = [stock valueForKey:@"price"]; [self.view addSubview:myLabel]; UIButton * b = [UIButton buttonWithType:UIButtonTypeRoundedRect]; b.frame = CGRectMake(0, 220, 100, 30); [b setBackgroundColor:[UIColor orangeColor]]; [b addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:b]; } -(void)buttonAction { [stock setValue:@"40" forKey:@"price"]; } -(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context { if ([keyPath isEqualToString:@"price"]) { myLabel.text =[stock valueForKey:@"price"]; }
stockForKVO 里可以通过@property属性或者定义实例变量
相关文章推荐
- linux管理员权限解析及LAMP环境的安装
- 使用Fuel自动化部署Openstack
- 设计模式——组合模式
- 什么是 MTU, 什么是 MSS
- PHP采集curl应用的一点小疑惑
- elasticsearch + hive环境搭建
- erlang,elixir安装
- SharedPreference 缓存
- 多消费者与多生产者
- Codeforces Round #363 (Div. 2) D. Fix a Tree (并查集)
- java学习--构造函数
- linux查看硬件信息命令
- 存储过程的基本语法
- spring mybatis多数据源实例详解
- Codeforces Round #361 (Div. 2)
- KVO
- Java中移位操作运算符的理解
- Wayland (二) 代码结构 [FW]
- Codeforces Round #363 (Div. 1) B. Fix a Tree 树的拆环
- gitlab 安装报错:Could not find modernizr-2.6.2 in any of the sources