KVO

<span style="font-size:18px;">KVO</span>
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    
    Movie *movie = [[Movie alloc] init];
    /*
     注册键值观察(不用的时候一定要注销掉)
     参数1:观察者 
     参数2:观察那个属性 
     参数3:观察哪些变化 
     参数4:做传值用
     
     参数3:枚举类型:new:打印修改后的值(在值修改后调用一次)
                old:打印修改前的值(在值修改后调用一次)
                initial:在值创建或修改就打印一次(当对象创建的时候,属性默认值为nil)
                prior:值修改前和修改后各调用一次,并且用notificationIsPrior来表示修改前
     */
    
    [movie addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionPrior context:NULL];
    movie.name = @"崔成杰";
    NSLog(@"/");
    movie.name = @"王刚";
    
    //注销观察
    [movie removeObserver:self forKeyPath:@"name"];
}

//观察方法
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
    NSLog(@"/%s", __func__);
    NSLog(@"//%@", keyPath);
    NSLog(@"+++++++%@", change);
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值