swift学习之set和get方法

在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;
        }
    }

你可能感兴趣的:(swift)