swift計(jì)算屬性和存儲(chǔ)屬性

//計(jì)算屬性

class MyClass0{

? ? //存儲(chǔ)屬性? 不能用class修飾存儲(chǔ)屬性,編譯報(bào)錯(cuò)

? ? static var bar = "";

? ? var temp = "";


? ? //計(jì)算屬性

? ? var hehe:String {

? ? ? ? get{

? ? ? ? ? ? return temp+"lalala";

? ? ? ? }

? ? ? ? set{

? ? ? ? ? ? temp = newValue;

? ? ? ? }

? ? }

}

let obj = MyClass0();

obj.hehe = "woshihaoren";

print(obj.hehe);

//計(jì)算屬性(類的計(jì)算屬性)

class MyClass1{

? ? static var bar = "";

? ? var temp = "";


? ? //class可以修飾計(jì)算屬性

? ? class var hehe:String {

? ? ? ? get{

? ? ? ? ? ? return bar+"lalala";

? ? ? ? }

? ? ? ? set{

? ? ? ? ? ? bar = newValue;

? ? ? ? }

? ? }

}

MyClass1.hehe = "nishihaoren";

print(MyClass1.hehe);


//存儲(chǔ)屬性

class MyClass2{

? ? var temp = "你是誰" {

? ? ? ? willSet{

? ? ? ? ? ? //這里可以取到新值

? ? ? ? ? ? print("將要給屬性賦值啦! \(newValue)")

? ? ? ? }

? ? ? ? didSet{

? ? ? ? ? ? //這里可以取到舊值

? ? ? ? ? ? print("已經(jīng)給屬性賦值啦! \(temp) === \(oldValue)")

? ? ? ? }


? ? }

}

let obj2 = MyClass2();

obj2.temp = "heheda";

print(obj2.temp);

最后編輯于
?著作權(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)容