今日分享-Swift之KVO

本文介绍了Swift中的键值观察(KVO)机制,通过示例代码展示了如何监听并处理对象属性变化,强调在Swift中使用KVO需注意属性前需添加dynamic关键字以及观察者和被观察者需继承自NSObject。同时提醒读者在控制器销毁时要移除观察者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说到KVO,IOS开发者肯定都不陌生,尤其对使用oc开发的同学,更为熟悉,接下来先回顾下oc中的KVO.

KVO:键值观察机制,提供了观察某一属性变化的方法,极大的简化了代码。作为一种设计模式,它被这样介绍。它与KVC之间的关系这里不在赘述,有兴趣的同学可以去了解一下。
先来看一段代码:

//添加监听者
[self.scrollview addObserver: self forKeyPath: @"contentOffset" options: NSKeyValueObservingOptionNew context: nil];

这段代码监听了scrollview的contentOffset 属性变化,Observer 观察者为 self(即为自己的控制器),NSKeyValueObservingOptionNew 为监听属性变化后的新值 context 环境变量这里置为 nil。在进入控制器的合适时机添加监听


/**
 *  监听属性值发生改变时回调
 */
- (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值