转自
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设计模式之观察者模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)