在swift 中get,set被称之为“计算属性”,它用来间接获取/改变其他属性的值。
- set 和get 是针对 计算变量(Calculated property ) 是不可以赋值的
- 普通的存储变量(storage property)才是可以赋值的
set和get的写法:
var _name:String?
var name:String?{
get{
return _name;
}
set{
// 只要外界通过.name给name赋值,就会把值给newValue
_name = newValue
}
}
在开发过程中不建议这样使用,首先需要定义两个属性,很麻烦。
推荐使用这样的方式实现
var gender:String?{
didSet
{
NSLog("已经改变的时候", []);
}
}
除了didSet是已经改变之后的操作,还有willSet是将要改变的时候
只是重写了get方法,我们称这个属性为“计算性”属性,也就是只读属性
注意:计算型属性,不占用内存空间
//“?”是可以省略的
var age:Int?{
get{
return 18;
}
}
网友评论