swift學習之set和get方法

在swift 中get,set被稱之爲「計算屬性」,它用來間接獲取/改變其餘屬性的值。swift

  • set 和get 是針對 計算變量(Calculated property ) 是不能夠賦值的
  • 普通的存儲變量(storage property)纔是能夠賦值的 set和get的寫法:
var _name:String?
    var name:String?{
        get{
            return _name;
        }
        set{
//            只要外界經過.name給name賦值,就會把值給newValue
            _name = newValue
        }
    }

在開發過程當中不建議這樣使用,首先須要定義兩個屬性,很麻煩。

推薦使用這樣的方式實現code

var gender:String?{
        didSet
        {
            NSLog("已經改變的時候", []);
        }
    }
除了didSet是已經改變以後的操做,還有willSet是將要改變的時候

只是重寫了get方法,咱們稱這個屬性爲「計算性」屬性,也就是隻讀屬性 注意:計算型屬性,不佔用內存空間內存

//「?」是能夠省略的
  var age:Int?{
        get{
            return 18;
        }
    }
相關文章
相關標籤/搜索