KVO代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/48896383

    // KVO 作用:观察对象的值是否发生变化,可以展示变化前后的值     // 某个对象添加观察者     /*      参数1:self      参数2:观察被观察扎哪一个具体的值发生变化      参数3:取到被观察者变化前及变化后的值      */     [_dogModel addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew| NSKeyValueObservingOptionOld context:nil];     [_catModel addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew |NSKeyValueObservingOptionOld context:nil]; // 实现KVO的相关方法 // 只要被观察者的值发生变化就执行 - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {     /*      参数1:被观察的具体值      参数2:被观察者的指针      参数3:变化前以及后的值  key为old的时:变化前的值,可以为new时:变化后的值      参数4:上下文      */     // 判断被观察者是属于哪个类?     if ([object isKindOfClass:[DogModel class]]) {         NSString * old = [change objectForKey:@"old"];         NSString * new = [change objectForKey:@"new"];         // 展示         _label.text = [NSString stringWithFormat:@"old:%@   new:%@", old, new];     }     else if ([object isKindOfClass:[CatModel class]])     {         NSString * old = [change objectForKey:@"old"];         NSString * new = [change objectForKey:@"new"];         _nextLabel.text = [NSString stringWithFormat:@"old:%@  new:%@",old, new];     } } // 注销观察者 - (void)dealloc {     [_dogModel removeObserver:self forKeyPath:@"name" context:nil]; }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 保存图片到沙盒并从沙盒中取出

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • 解决“真机上不能读取本地路径”的问题d

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • POST上传各种数据类型(包括图片)

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

    用户1451823
  • 我们是腾讯云运营开发团队

    Hello, 大家好,很高兴加入腾讯云云社区,我们是来自腾讯云的运营开发团队,专注于运维自动化与平台化,运营数据化与智能化等领域,主要负责腾讯云基础网络运营平台...

    腾讯云运营开发团队
  • Python爬虫新手教程:实战APP抓包,抖音的小姐姐等着我!

    前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取。现在手机 App 用的越来越多,而且很多也没有网页端,比如抖...

    一墨编程学习
  • 关于天津爆炸事故对腾讯影响的回应

    感谢大家对于天津爆炸事故的关心,目前腾讯天津数据中心系统运营平稳,各项业务正常运行,人员安全。 ? 腾讯天津研发与数据存储中心距离爆炸地点直线距离1-2公里,天...

    腾讯数据中心
  • 关于Hbase多版本存储的一个注意点

    我是攻城师
  • 【leetcode】Implement strStr()

    Returns a pointer to the first occurrence of needle in haystack, or null if need...

    阳光岛主
  • 用 Python 分析《红楼梦》(全)

    專 欄 ❈楼宇,Python中文社区专栏作者。一位正在海外苦苦求学的本科生。初中时自学编程,后来又在几位良师的帮助下走上了计算机科学的道路。曾经的 OIer...

    Python中文社区
  • 其父其子:AI之父们和他们孩子的坎坷成长之路

    GAIR 今年夏天,雷锋网将在深圳举办一场盛况空前的“全球人工智能与机器人创新大会”(简称GAIR)。大会现场,谷歌,DeepMind,Uber,微软等巨头的人...

    AI科技评论

扫码关注云+社区

领取腾讯云代金券