打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
KVO-键值监听

键值监听,就是可以监听对象某个属性值的变化;

首先,在工程中,新建一个Person的类

@interface Person : NSObject@property (nonatomic, copy) NSString *name;@end

在viewController中引入头文件“Person”,开始测试KVO的使用

- (void)viewDidLoad {    [super viewDidLoad];       Person *person = [[Person alloc] init];    person.name = @"珠珠";    [person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"testKVO"];        person.name = @"小雅";    [person removeObserver:self forKeyPath:@"name"];    }- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {    NSLog(@"keypaht=%@, object=%@, change=%@, context=%@", keyPath,object, change, context);    //NSKeyValueChangeOldKey  可以用"old"来代替,但是获取的话,如果系统修改old为"Old"的话,那会获取不到,所以建议用NSKeyValueChangeOldKey    NSLog(@"获取被修改前的值=%@", change[NSKeyValueChangeOldKey]);    //NSKeyValueChangeNewKey  可以用"new"来代替,但是获取的话,如果系统修改new为"New"的话,那会获取不到,所以建议用NSKeyValueChangeNewKey    NSLog(@"获取修改后的值=%@", change[NSKeyValueChangeNewKey]);}

运行程序,得出来的值如下:

 

 

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
IOS学习笔记八(KVO)
KVO实现原理探究
iOS: 消息通信中的Notification&KVO
iOS KVO & KVC
KVC 与 KVO 理解
Cocoa中KVO的简单用法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服