以下简单的介绍Swift中的getting和setting的使用方法:
Xcode version: 6.1
先附代码:
class Test { var num1: Double = 0.0 init(){ } init(num2: Double){ self.num1 = num2 } var perimeter: Double { get { return self.num1 } set (newVal){ self.num1 = newVal } } } var doubleValue = Test(num2: 9.0) doubleValue doubleValue.perimeter = 3.0 doubleValue
1.定义一个num1变量的属性,用于检测get,set方法存取值用的。
2.接下来定义两个初始化方法,第一个无参的,第二个代参数的,初始化num1变量用的(也可以不需要,习惯的写法)。
3.构建get set方法: perimeter我理解为包裹get、set的方法的一个类,外部调用Test类中的perimeter方法时,perimeter会自动判断是传值还是取值,去调用相应get或者set方法,达到对属性的读写。
a.get方法很好理解,如果调用get方法,方法直接return 对应的属性值。
b.set方法一样,如果调用set方法,方法会自动将新值(newVal)赋给属性(num1),达到修改属性值的目的。