在iOS中我们常常会给某个对象的属性赋值,然后通过重写他的setter和getter方法来做一些操作。在swift中如下:
第一种方式,我们需要在类中定义两个变量,A变量是对外提供设置属性的,B变量则是在当前类中接收A变量setter方法赋值的中间值,然后在当前类中在A的getter方法中将赋值的值给A。代码如下:
1 | var _dataSource: [OriginRightContent] = [] |
上面的是不是有种oc即时感。。。下面是很swift的写法
1 | var dataSource: [OriginRightContent] = [] { |
第二种方式就直接抛弃了_dataSource这种中间变量,在swift里,didset和willset称作为属性观察者,
1 | 属性观察者,类似于触发器。用来监视属性的除初始化之外的属性值变化,当属性值发生改变时可以对此作出响应。有如下特点: |