iOS、swift技术交流!

重写getter和setter方法或者“懒加载”?

2015-11-19  本文已影响1040人  光明程辉
封装的好处.png
- swifts 中有个延迟存储属性 lazy .其实都是一样的。就是,第一次使用时才初始化!如果没有用到它,就不会执行那行代码,也就不会初始化!(作用:有些方法或属性、类的值它大,如果没有用到,也进行初始化一遍,等到调用的时候又初始化一遍!那么就会影响性能!)

如下就是一个例子,"只有在使用到的时候,直接通过self.yearSources就可以直接使用了",而不需要再提供一个方法来初始化数据:

"懒加载"-- 就是重写 getter 方法啊!(只读!)

重写get方法.png

善于重写setter方法(可读可写!)

重写set方法.png

重写这个方法,就不需要额外提供一个方法来更新数据显示了。

我们只需要调用如下:


屏幕快照 2015-11-19 17.17.57.png

太方便了!
就可以了,因此这个方法已经重写了而且也自动更新数据显示了。

补充:

// 封装的好处;

总结: 只要你想改变值(成员变量的值),就要调用 set 方法,(也就是监听set方法,监听属性的改变!)

1.只要 调用 set 方法,就可以修改成员变量的值!,就是“监听”成员变量的改变。

2、通过“监听” 或 set 方法,就可以修改成员变量的值

3、别人 一担 调用 我的 set 方法,一定是想修改我的东西(成员值);-- 所以,这也就是为什么有时侯修改属性值或什么的,考虑重写 set 方法的原因了!

上一篇 下一篇

猜你喜欢

热点阅读