Swift中的get和set方法

来源:互联网 发布:yyp2p监控软件ios 编辑:程序博客网 时间:2024/04/30 15:24

当我们得到属性值的时候,会调用该属性的get方法。

当我们去设置属性值的时候,会调用该属性的set方法。

当我们给属性设置值的时候,Swift会自动给我们创建一个名为newValue的常量并且可以用于set{}中。

Swift中有储值属性和计算属性,一般我们应该是给计算属性添加get和set方法,现在先通过一个Example展示:

var A:Int = 0var B:Int = 0var C:Int {get {return 1}set {print("Recived new value", newValue, " and stored into 'B' ")B = newValue}}//When we are getting a value of C it fires get{} part of C propertyA = CA            //Now A = 1//When we are setting a value to C it fires set{} part of C propertyC = 2B            //Now B = 2

var c:Int = 0var _num : Int = 2var num : Int {get{return _num} set (newValue) {if newValue >= 2 {   _num = newValue} else {    print("error: cannot have family with less than 2 members")    c = 0    _num = 0}    }}

下面这段代码是我自己写的,如果var a = num,那么会调用num的get方法,会返回_num,所以a的值为2

如果num = 5,调用set方法,newValue为5且大于2,因此此时_num的值为5

如果num = 1,调用set方法,走else分支,c = 0, _num = 0


0 0
原创粉丝点击