1. 程式人生 > >swift學習之set和get方法

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