2016-05-29 60 views
1

我在旧的swift教程中关注此代码,所以可能会发生变化不知道在斯威夫特2如何处理错误,但这里是我的代码无法为类型为'AVCaptureDeviceInput'的类型为'(device:AVCaptureDevice!,error:inout NSError?)'的参数列表调用初始值设定项'

backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo) 

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

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

回答

2

已弃用。使用此:

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

处理AVCaptureDeviceInput错误,我认为它跳过 “过时”,直奔 “过时”。 :) –

+0

@PhillipMills – penatheboss

1

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

1

更新swift3
这是我们如何能够在swift3

 var input = AVCaptureDeviceInput() 
     do { 
       input = try AVCaptureDeviceInput(device: device) 
      } 
     catch { 
       // error 
      } 
相关问题