swift - willSet didSet
- 屬性初始化設值 不會觸發(fā) willSet 和 didSet
- 屬性 設值時, 先觸發(fā) willSet 然后觸發(fā) didSet
- willSet 有個newVlue 參數(shù) 代表這次要設置的新值, didSet 有個 oldValue 的參數(shù), 代表上次屬性值
- 即使設置的值和上次的值一樣, 也會調(diào)用 willSet 和 didSet
var name:String = "叛國賊 馬步芳"{
didSet{
print("舊名字: \(oldValue)")
}
willSet{
print("新名字: \(newValue))")
}
}
//賦值
name = "馬伯庸"
print("最佳小說家 \(name)")
//打印結(jié)果
//新名字:馬伯庸
//舊名字: 叛國賊 馬步芳
//最佳小說家 馬伯庸
name = "羅永浩"
print("手機界的相聲演員 \(name)")
//新名字:羅永浩
//舊名字: 馬伯庸
//手機界的相聲演員 羅永浩
name = "白云先生"
print("高貴的中國精神貴族 揭掉外國遮羞布的高人: \(name)")
//新名字:白云先生
//舊名字: 羅永浩
//高貴的中國精神貴族 揭掉外國遮羞布的高人: 白云先生
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者