Error del comstackdor Swift: no se puede invocar 'lockForConfiguration' con una list de arguments del tipo '(() -> ())'

Esto es Swift 2. No puedo encontrar nada en esto. Estoy recibiendo el error

Cannot invoke 'lockForConfiguration' with an argument list of type '(() -> ())' 

En la segunda línea aquí.

 if let device = captureDevice { device.lockForConfiguration() { device.videoZoomFactor = 1.0 + CGFloat(ratioValue) device.unlockForConfiguration() } print(ratioValue) } 

En Swift 2, el método lockForConfiguration no toma ningún argumento, sino que puede arrojar un NSError . Debe envolverlo en una instrucción dotrycatch .

 do { try device.lockForConfiguration() } catch { // handle error return } // When this point is reached, we can be sure that the locking succeeded device.videoZoomFactor = 1.0 + CGFloat(ratioValue) device.unlockForConfiguration() 

¿No debería ser así?

 if let device = captureDevice { device.lockForConfiguration(nil) device.videoZoomFactor = 1.0 + CGFloat(ratioValue) device.unlockForConfiguration() print(ratioValue) } 

Puedes probar esta línea de código:

 device.lockForConfiguration(nil)