swift學(xué)習(xí)之set和get方法

在swift 中g(shù)et,set被稱之為“計(jì)算屬性”,它用來(lái)間接獲取/改變其他屬性的值。

  • set 和get 是針對(duì) 計(jì)算變量(Calculated property ) 是不可以賦值的
  • 普通的存儲(chǔ)變量(storage property)才是可以賦值的

set和get的寫法:

   var _name:String?
    var name:String?{
        get{
            return _name;
        }
        set{
//            只要外界通過(guò).name給name賦值,就會(huì)把值給newValue
            _name = newValue
        }
    }

在開發(fā)過(guò)程中不建議這樣使用,首先需要定義兩個(gè)屬性,很麻煩。

推薦使用這樣的方式實(shí)現(xiàn)

 var gender:String?{
        didSet
        {
            NSLog("已經(jīng)改變的時(shí)候", []);
        }
    }

除了didSet是已經(jīng)改變之后的操作,還有willSet是將要改變的時(shí)候

只是重寫了get方法,我們稱這個(gè)屬性為“計(jì)算性”屬性,也就是只讀屬性

注意:計(jì)算型屬性,不占用內(nèi)存空間

//“?”是可以省略的
  var age:Int?{
        get{
            return 18;
        }
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容