用下面的代码我得到这个错误:功能错误处理
Cannot convert value of type 'inout NSError?' (aka 'inout Optional') to expected argument type '()'
和它在这行代码:
if device.lockForConfiguration(&error)
下面的代码的其余部分:
func focusWithMode(focusMode:AVCaptureFocusMode, exposureMode:AVCaptureExposureMode, point:CGPoint, monitorSubjectAreaChange:Bool){
dispatch_async(self.sessionQueue!, {
var device: AVCaptureDevice! = self.videoDeviceInput!.device
var error: NSError? = nil
if device.lockForConfiguration(&error){
if device.focusPointOfInterestSupported && device.isFocusModeSupported(focusMode){
device.focusMode = focusMode
device.focusPointOfInterest = point
}
if device.exposurePointOfInterestSupported && device.isExposureModeSupported(exposureMode){
device.exposurePointOfInterest = point
device.exposureMode = exposureMode
}
device.subjectAreaChangeMonitoringEnabled = monitorSubjectAreaChange
device.unlockForConfiguration()
}
})
}
我的猜测是斯威夫特2和try/catch VS错误,但OP正在忸怩作态来考验我们。 – zaph
@jtbandes这是错误:无法转换'inout NSError'类型的值? (aka'inout可选')与预期参数类型'()' –
不要告诉我 - 告诉所有人。 [编辑]你的问题,并输入所需的信息。见[问]。 – jtbandes