模式 - KVO

原创 2015年07月09日 21:45:24

这里写图片描述

  • KVO: Key Value Observing
  • 常用作用:监听模型属性值的改变
- (void)viewDidLoad{
    self.p1 = [[WQPerson alloc] init];
    self.p1.name = @"oldName";
    // 利用KVO时刻监听mainV的frame属性
    // Observer:观察者 谁想监听
    // KeyPath:监听对象调用者的属性
    // options:监听新值的改变
    [self.p1 addObserver:self forKeyPath:@"name" options: NSKeyValueObservingOptionOld context:nil];
    // setter方法修改属性的值
    self.p1.name = @"newName";
}

#pragma mark - KVO监听方法
/**
 * 只要监听的属性一改变,就会调用观察者的这个方法,通知你有新值
 */
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"监听到%@对象的%@属性发生了改变, %@", object, keyPath, change);
}

- (void)dealloc
{
    [self.p1 removeObserver:self forKeyPath:@"name"];
}
  • 有时监听不到,原因必须是通过setter或getter方法改变属性的值,系统改变属性值不会监听到

相关文章推荐

KVO观察者模式

  • 2015年07月09日 20:12
  • 57KB
  • 下载

IOS 委托模式KVO实例Demp

  • 2014年02月26日 20:55
  • 74KB
  • 下载

一篇比较好的KVO模式的解析与应用文章

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

iOS 中的观察者模式, KVO, 通知

一, KVO Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。每次指定的被观察的对象的属性被修改后,KVO自动通知相应的观察者。 model中...
  • Leo_DLi
  • Leo_DLi
  • 2015年12月20日 23:10
  • 441

ios开发kvo模式基础-Key-Value Observing 快速入门

假如需要掌握Key-Value Observing机制,那么需要阅读本文应该有帮助。本文提供了Key-Value Observing的一个概述,并且解释为什么需要用它,什么时候用它。在阅读本文之前需要...
  • niitlcj
  • niitlcj
  • 2012年02月28日 14:25
  • 445

ios开发kvo模式基础-Key-Value Observing 快速入门

Key-Value Observing 快速入门 翻译:杨登峰 (dengfengyang@gmail.com) 时间:2010-03-12 转帖请注明转之 苹果开发中文网(ht...

UIday1702:KVO 观察者设计模式 代码实现 常用

KVO 观察者设计模式 代码实现 常用

iOS监听模式之KVO、KVC的高阶应用

KVC, KVO作为一种魔法贯穿日常Cocoa开发,笔者原先是准备写一篇对其的全面总结,可网络上对其的表面介绍已经够多了,除去基本层面的使用,笔者跟大家谈下平常在网络上没有提及的KVC, KVO进阶知...
  • hbblzjy
  • hbblzjy
  • 2016年06月12日 12:37
  • 2373

KVO (Key-Value Observing) 键值观察模式

转自 : http://www.cocoadev.cn/Objective-C/Key-Value-Observing-Quick-Start-cn.asp Key-Value ...

IOS中KVO模式的解析与应用

【原】IOS中KVO模式的解析与应用
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:模式 - KVO
举报原因:
原因补充:

(最多只允许输入30个字)