美文网首页swift
swift属性观察器

swift属性观察器

作者: Maggie的小蜗居 | 来源:发表于2016-11-30 09:05 被阅读65次

OC里面可以重写属性的get和set方法,swift里没有对应的写法,但有属性观察器
属性观察器会监控和响应属性值变化,每次属性设置值时都会调用属性观察器

swift里提供了属性观察器:

  • willSet 在新的值即将被设置时调用,还没设置
  • didSet 在新的值被设置之后调用

willSet会将新的属性值作为参数传入,可以为这个参数指定名称,不指定则为newValue

didSet则是将旧的属性值作为参数传入,不指定参数名称则为oldValue

class StepCounter {
    var totalSteps: Int = 0 {
        willSet(newTotalSteps) {
            print(" \(newTotalSteps)")
        }
        didSet {
            if totalSteps > oldValue  {
                print("Added \(totalSteps - oldValue) steps")
            }
        }
    }
}
let stepCounter = StepCounter()
stepCounter.totalSteps = 200
//  200
//  200 steps
stepCounter.totalSteps = 360
//  360
// 160 steps

相关文章

  • swift属性观察器

    OC里面可以重写属性的get和set方法,swift里没有对应的写法,但有属性观察器属性观察器会监控和响应属性值变...

  • swift 属性观察器

    概念 用来监视属性值变化,当属性值发生改变时可以对此作出响应。可以为除了延迟存储属性之外的其他存储属性添加属性观察...

  • swift 属性观察器

    简单例子: 为了保存右边中间那个价格数自己还想了很久怎么写程序,因为那个文本是一个字符串,它夹带有一个币种符号,刚...

  • swift 属性观察器

  • swift 属性专题

    计算属性 简写设置器 在swift中setter/getter方法的实现 属性观察者 属性包装 属性包装映射值

  • Swift属性观察方法willSet和didSet

    Swift-属性观察着(willSet和didSet) 属性观察者,类似于触发器.用来监视属性的除了初始化之外的属...

  • 浅谈swift中的属性观察者

    Swift-属性观察者(willSet和didSet) 属性观察者,类似于触发器.用来监视属性的除了初始化之外的属...

  • Swift 继承属性观察器

    关于 didSet 和 willSet 这两个方法, 在继承的时候, 父类的也会执行, 所以尽量不要像下面那样来实...

  • Swift-计算属性、属性观察器

    计算属性 计算属性不直接存储值,而是提供一个 getter 和一个可选的 setter,来间接获取和设置其他属性或...

  • Swift3.0-属性、属性观察器

    属性 属性将值跟特定的类、结构或枚举关联。 存储属性 简单来说,一个存储属性就是存储在特定类或结构体实例里的一个常...

网友评论

    本文标题:swift属性观察器

    本文链接:https://www.haomeiwen.com/subject/tagzpttx.html