11

クラスにタイマーの変数を追加し、その didSet オブザーバーを使用して古い値を無効にしました

var timer: Timer? {
    didSet { oldValue?.invalidate() }
}

deinit {
    timer = nil
}

クラスが初期化解除されたときにタイマーを無効にするのにこれで十分だと思いましたが、didSetが呼び出されていないようです。何故ですか?オブザーバーは初期化解除中に機能していませんか?

4

1 に答える 1