【Swift】Swift基础之储存属性与计算属性(一)

来源:互联网 发布:linux open内核源码 编辑:程序博客网 时间:2024/05/16 17:52

1.储存属性:

  • 作用:把常量或变量的值作为实例的一部分

  • 定义:var/let

  • 在类的初始化中,它的属性必须都被初始化。如果不想设置某个属性的默认值,则使用?声明为可选型,对于可选型的属性,初始值为nil,可以在实例中为其赋值。也可以使用lazy加在属性前面,表示该属性只有被调用的时候才会用到。

注:只有var定义的属性才能使用lazy关键字,而let定义的属性必须在类的初始化方法中进行初始化 什么逻辑需要使用到lazy呢?有些属性初始化的时候会依赖另一些属性,这样就可能造成卡顿。

2.计算属性:

计算属性不直接存储值,而是提供一个getter来获取值,一个可选的setter来间接设置其他属性和变量的值。
便携setter声明:如果计算属性没有定义表示新值得参数名,则使用默认的newvalue
get和set的使用方法

3.属性观察器

1.属性观察器监控和相应属性值的变化,每次属性被设置值得时候都会被调用。
2.延迟属性不可以设置属性观察器
3.可以通过重写的方式为继承的属性添加观察器:

  • willset:在新的值被设置之前调用
  • didiset:在新的值被设置后调用
  • 父类的属性在子类的构造器中被赋值时,观察器同样会被触发.
2 0
原创粉丝点击