ios - 如何 KVO 观察 AVCaptureDevice 的 whiteBalanceMode 属性?

标签 ios swift4 key-value-observing

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

这是我在使用 Objective-C 工作十年后第一次使用 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)
}

关于ios - 如何 KVO 观察 AVCaptureDevice 的 whiteBalanceMode 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54948458/

相关文章:

swift - IOS TableView 如何更新我的 TableView 中的元素

json - 在 Swift 4 中解析 NiceHash JSON

ios - 如何让键盘显示但不覆盖屏幕 Swift 4 底部的元素?

iOS UIWebView 加载后消失

ios - "hidden"与#keyPath(UIView.isHidden)

ios - 如何实现 CoreData 记录的重新排序?

iphone - UItextView 阿拉伯文本右对齐

iphone - iOS 7 - XCode 5 - 约束

ios - ProjectName-Swift 问题 - 找不到 'CLLocationManagerDelegate' 的协议(protocol)声明

iOS KVO - 无法删除观察者