无法为类型' AVCaptureDeviceInput'调用初始化程序。使用类型'的参数列表(设备:AVCaptureDevice!,错误:inout NSError?)'

时间:2016-05-29 20:36:21

标签: ios xcode swift

我在旧的快速教程中的代码中跟随这一点,所以可能在Swift 2中我没有意识到如何处理错误,但这里是我的代码

backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

var error : NSError?
var input = AVCaptureDeviceInput(device: backCamera, error: &error)

我不明白为什么标题中的错误甚至会发生,它会突出显示输入变量。

3 个答案:

答案 0 :(得分:2)

已弃用。使用此:

var input = AVCaptureDeviceInput()
do {
    input = try AVCaptureDeviceInput(backCamera)
} catch {
    //error
}

答案 1 :(得分:1)

查看一些Swift 2文档。构造函数定义为单个device:参数和throws注释,而不是error:

答案 2 :(得分:1)

更新swift3
这就是我们如何处理swift3上的AVCaptureDeviceInput错误

        var input = AVCaptureDeviceInput()
        do {
              input = try AVCaptureDeviceInput(device: device)
           }
        catch {
              //  error
           }