监控属性值的变化,在属性被设置新值的时候调用,即使新值与原有相同,可以为延迟属性添加监视器,不需要为无法重载的计算属性添加监视器,因为可以通过setter直接监控
wilSet 在设置新值前调用
didSet 新的值被设定后调用
willSet会将新值作为固定参数传入,如果不指定参数,默认使用newValue,didSet会将就值作为参数传入,不指定的话默认参数名为oldValue,如果在didSet监视器为属性设值,那这个值会替换监视器之前设置的值willSet和didSet监视器不会在属性初始化的时候调用,只会在属性初始化之后的其他地方比如被设置的时候调用