自己testkvo的代码心的(有一行代码要特别的注意)
来源:互联网 发布:sftp端口号 编辑:程序博客网 时间:2024/06/16 09:06
<pre name="code" class="objc">NSString *name = [[self.stockForKVO valueForKey:@"price"]stringValue];一定要先转换成stringvalue才行,不然的话,在label或者button上面打印的时候会出现问题。(没注意,搞了一会儿,注意下。)
#import "ViewController.h"#import "StockData.h"@interface ViewController ()//@property (nonatomic, strong ) UILabel *myLabel;@property (nonatomic, strong ) UIButton *button;@property (nonatomic, strong) StockData *stockForKVO;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; StockData *stockForKVO = [[StockData alloc]init]; self.stockForKVO = stockForKVO; [stockForKVO setValue:@"search" forKey:@"stockName"]; [stockForKVO setValue:@"10.0" forKey:@"price"]; [stockForKVO addObserver:self forKeyPath:@"price" options:NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld context:nil]; UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect]; self.button = b; b.frame = CGRectMake(10, 10, 100, 100); b.backgroundColor = [UIColor redColor]; [b addTarget:self action:@selector(buttonClick) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:b]; }-(void)buttonClick{ [self.stockForKVO setValue:@"100.0" forKey:@"price"];}-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{ if ([keyPath isEqualToString:@"price"]) { NSLog(@"%@ is ",[self.stockForKVO valueForKey:@"price"]); NSString *name = [[self.stockForKVO valueForKey:@"price"]stringValue]; //self.myLabel.text = [self.stockForKVO valueForKey:@"price"]; [self.button setTitle:name forState:UIControlStateNormal]; }}-(void)dealloc{ //[super dealloc]; [self.stockForKVO removeObserver:self forKeyPath:@"price"]; }@end
#import <Foundation/Foundation.h>@interface StockData : NSObject{ NSString *stockName; float price;}@end
0 0
- 自己testkvo的代码心的(有一行代码要特别的注意)
- 要特别注意写代码之前的设计
- 每写一行代码,就有一行代码的自信。
- 代码中注册广播特别注意的地方
- 做自己的代码库要注意的问题
- 写给自己的平时写代码要注意的地方
- 一行代码的神奇!
- 一行的代码
- scala的一行代码
- Android 定制自己的日志工具 《第一行代码》
- 第一行代码总结:13.3定制自己的日志工具
- 第一行代码-7.3 创建自己的内容提供器
- 第一行代码-11.1 找到自己的位置
- 第一行代码-13.3 定制自己的日志工具
- 飞鸽传书每写一行代码都会有新的成就
- 在有TableView的页面一行代码收起键盘
- 注意代码之间的逻辑性(拿自己写的一段代码作为例子)
- 写代码要注意的
- unix学习笔记-------利用dup()函数来达到共享同一个文件表项的作用
- V$STATNAME
- complete.cases筛选NA数据
- Linux动态加载库的使用方法
- Unity编辑时打左括号出现异常的问题
- 自己testkvo的代码心的(有一行代码要特别的注意)
- Pentest - SSH login
- 陈硕-应届生应聘程序员,简历上能写书单吗?最好有哪些信息?
- 黑马程序员——基础知识——多态
- 设计模式实例学习-策略模式
- 正则表达式基础
- Spring MVC使用@ResponseBody无法跳转到对应的jsp页面以及ie8下报错的解决方法
- hog+svm 行人检测
- 陈硕-Linux C++ 服务器端这条线怎么走?一年半能做出什么?