1
我有一個樣品類,像這樣Int
類型的屬性:財產觀察員和他們的行爲
class StepCounter {
var totalSteps: Int = 0 {
willSet(newTotalSteps) {
print("about to set steps to \(newTotalSteps)")
}
didSet {
if totalSteps > oldValue {
print("Added \(totalSteps - oldValue) steps")
}
}
}
}
現在,當我使這個類的一個實例,並指定一個數字,以我的VAR totalSteps
像這樣:
let anObj = StepCounter()
anObj.totalSteps = 2000
我得到的控制檯輸出預期:
about to set steps to 2000
Added 2000 seteps
卜t當我做anObj.totalSteps -= 1
,我只得到willSet
輸出說about to set steps to 1999
和didSet
永遠不會執行。發生了什麼以及爲什麼我沒有執行willSet
打印語句?幫忙,謝謝。
這樣一個愚蠢的問題。謝謝@EricD。 :D – Dershowitz123
呃,發生錯誤。別客氣。 :) – Moritz