如何KVO观察AVCaptureDevice的whiteBalanceMode 属性?

How to KVO observing of whiteBalanceMode property of AVCaptureDevice?

Apple 表示 AVCaptureDevice 的属性 whiteBalanceModeexposureMode 是 KVO 可观察的。

这是我在 Swift 工作十年后第一次在 Swift 编程。

KVO 在 Swift 中似乎要复杂得多。

我试过这个:

var kvoWhiteBalanceObserving : NSKeyValueObservation?
@objc var capDevice : AVCaptureDevice?

稍后...

capDevice = captureDevice

self.kvoWhiteBalanceObserving = observe(\.capDevice.whiteBalanceMode, options: [.old, .new]) { object, change in
        print(object.whiteBalanceMode)
}

Xcode 指向 \. 说法:

Type of expression is ambiguous without more context

我如何在 swift 4 中 KVO 这个?

这样观察:

self.kvoWhiteBalanceObserving = capDevice?.observe(\.whiteBalanceMode, options: [.old, .new]) { object, change in
    print(object.whiteBalanceMode)
}