OC中得get/set 方法,用于获取和设置我们属性的值。
而在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 name:String?{ willSet { NSLog("将要赋值", []); } didSet { NSLog(赋值完成", []); } }
只是重写了get方法,我们称这个属性为“计算性”属性,也就是只读属性 注意:计算型属性,不占用内存空间
var name:String?{
get
{
return "name"
}
}