【发布时间】:2018-03-25 05:28:21
【问题描述】:
迁移到 swift 4 后出现 2 个错误。
第一个错误:
条件绑定的初始化器必须是 Optional 类型,而不是 AVCaptureVideoPreviewLayer。
第二个错误:
条件绑定的初始化器必须是 Optional 类型,而不是 [AVCaptureDevice]。
我应该如何纠正这些错误?
谢谢
【问题讨论】:
迁移到 swift 4 后出现 2 个错误。
第一个错误:
条件绑定的初始化器必须是 Optional 类型,而不是 AVCaptureVideoPreviewLayer。
第二个错误:
条件绑定的初始化器必须是 Optional 类型,而不是 [AVCaptureDevice]。
我应该如何纠正这些错误?
谢谢
【问题讨论】:
我认为您只需删除 if let ... 条件并进行更改
喜欢简单的
let cameraLayer = AVCaptureVideoPreviewLayer(session: self.cameraSession)
同样的第二个错误意味着你应该直接使用videoDevices,不需要使用if let...条件。
【讨论】:
AVCaptureVideoPreviewLayer 的初始化器不返回可选项。因此,if 条件始终为真,if 语句毫无用处。您应该删除 if 和它的大括号。
【讨论】: