TIL `didSet` doesn't fire for wiped out weak optional Aug 14, 2019 This is my finding today that didSet doesn’t fire for wiped out weak optional. Could be interview question. func f() { let n = NSNumber(value: 1) weak var weakOptional: NSNumber! = n { didSet { print("didSet") } } } f()