条件绑定的初始化程序必须具有可选类型,而不是'AVCaptureVideoPreviewLayer'

问题描述 投票:1回答:2

迁移到swift 4后出现2个错误。

第一个错误:

条件绑定的初始化程序必须具有可选类型,而不是AVCaptureVideoPreviewLayer。

enter image description here

第二个错误:

条件绑定的初始化程序必须具有可选类型,而不是[AVCaptureDevice]。

enter image description here

我该如何纠正这些错误?

谢谢

ios iphone xcode9 swift4
2个回答
3
投票

我想你只是删除if let ...条件和变化

喜欢简单

let cameraLayer = AVCaptureVideoPreviewLayer(session: self.cameraSession)

同样的第二个错误意味着你应该直接使用videoDevices不需要使用if let...条件。


1
投票

AVCaptureVideoPreviewLayer的初始化程序不返回可选项。因此,if条件总是为真,if语句也没用。你应该删除if和它的大括号。

© www.soinside.com 2019 - 2024. All rights reserved.