KVO或NotificationCenter

KVO-这种机制的主要目的是观察对象变量或属性的变化。 当您尝试回答以下问题时,您会更容易理解:“您如何知道某个类的某些属性或任何变量已更改?”。 在iOS中,我们有一种使用KVO实现此目的的简单方法。

一个对象首先注册以观察另一个对象的属性。 然后,只要该对象的该属性更改其值,就会自动向观察者通知更新的更改。

它是如何工作的 ?

每当银行帐户余额发生变化时,您在手机上收到的更新就是KVO通知的示例。 由于我们已在银行注册以接收余额更改通知,因此只要发生更改事件,银行都会通知我们。 因此,我们采取了必要的行动。

KVO在Swift中不是很好,因为它必须依赖于Objective-C运行时—您需要对从NSObject继承的类使用@objc关键字,然后使用@objc dynamic标记每个属性。 让我们来看一个例子。

我们可以简单地发布这样的通知: