var nickName: String var age: Int = 0 { //age属性变化前做点什么 willSet { println("Will set an new value \(newValue) to age") } //age属性发生变化后,更新一下nickName这个属性 didSet { println("age filed changed form \(oldValue) to \(age)") if age < 10 { nickName = "Little" }else { nickName = "Big" } } } }
访问控制修饰词
Swift 3 相较于之前的版本,新加了两个关于访问控制修饰符,open和fileprivate。全部访问控制修饰词的限制如下:
1
open > public > internal(默认) > fileprivate > private
open 和 public
二者都是可以跨 Module 访问的,但open 比 public 更加开放。
open 修饰的类可以继承,open类中,用 open 修饰的方法可以重写,而 public 不可以。