Swift设计模式之观察者模式

Swift设计模式之观察者模式,第1张

概述转自 Swift设计模式 原文 Design-Patterns-In-Swift // 观察者模式// 一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统// 设计模式分类:行为型模式/// 观察者接口protocol PropertyObserver : class { /

转自

Swift设计模式

原文

Design-Patterns-In-Swift
// 观察者模式// 一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统// 设计模式分类:行为型模式/// 观察者接口protocol PropertyObserver : class {    /** 属性即将改变监听方法 - parameter propertyname: 属性名 - parameter newPropertyValue: 新的值 */    func willChangePropertyname(propertyname:String,newPropertyValue:Int)    /** 属性已经改变监听方法 - parameter propertyname: 属性名 - parameter oldPropertyValue: 原来的值 */    func dIDChangePropertyname(propertyname:String,oldPropertyValue:Int)}/// 观察对象class TestChAmbers {    weak var observer:PropertyObserver?    var testChAmberNumber: Int = 0 {        willSet(newValue) {            observer?.willChangePropertyname("testChAmberNumber",newPropertyValue:newValue)        }        dIDSet {            observer?.dIDChangePropertyname("testChAmberNumber",oldPropertyValue:oldValue)        }    }}/// 具体观察者class Observer : PropertyObserver {    func willChangePropertyname(propertyname: String,newPropertyValue: Int) {        print("\(propertyname)的值将要改变为\(newPropertyValue)")    }    func dIDChangePropertyname(propertyname: String,oldPropertyValue: Int) {        print("\(propertyname)的值已经改变,原来的值为\(oldPropertyValue)")    }}var observerInstance = Observer()var testChAmbers = TestChAmbers()testChAmbers.observer = observerInstancetestChAmbers.testChAmberNumber += 1
总结

以上是内存溢出为你收集整理的Swift设计模式之观察者模式全部内容,希望文章能够帮你解决Swift设计模式之观察者模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1076302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存