swift - willSet didSet

swift - willSet didSet

  • 屬性初始化設(shè)值 不會(huì)觸發(fā) willSet 和 didSet
  • 屬性 設(shè)值時(shí), 先觸發(fā) willSet 然后觸發(fā) didSet
  • willSet 有個(gè)newVlue 參數(shù) 代表這次要設(shè)置的新值, didSet 有個(gè) oldValue 的參數(shù), 代表上次屬性值
  • 即使設(shè)置的值和上次的值一樣, 也會(huì)調(diào)用 willSet 和 didSet
var name:String = "叛國(guó)賊 馬步芳"{
    didSet{
    print("舊名字: \(oldValue)")
    }

    willSet{
    print("新名字: \(newValue))")
    }
}

//賦值
name = "馬伯庸"
print("最佳小說(shuō)家 \(name)")
//打印結(jié)果
//新名字:馬伯庸
//舊名字: 叛國(guó)賊 馬步芳
//最佳小說(shuō)家 馬伯庸

name = "羅永浩"
print("手機(jī)界的相聲演員 \(name)")
//新名字:羅永浩
//舊名字: 馬伯庸
//手機(jī)界的相聲演員 羅永浩

name = "白云先生"
print("高貴的中國(guó)精神貴族 揭掉外國(guó)遮羞布的高人: \(name)")
//新名字:白云先生
//舊名字: 羅永浩
//高貴的中國(guó)精神貴族 揭掉外國(guó)遮羞布的高人: 白云先生





最后編輯于
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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