(swift) wnwrappingできないオプションバリュー
Xcode 6.4を使用しています。
iPhoneのバックカメラの映像をAVCaptureVideoPreviewLayerクラスのframeに表示するプログラムを書いていますが、
var deviceInput: AVCaptureInput = AVCaptureDeviceInput.deviceInputWithDevice(captureDevice, error: error) as AVCaptureInput
上記の太字の行で
ViewController.swift:53:115: 'AnyObject!' is not convertible to
'AVCaptureInput'; did you mean to use 'as!' to force downcast?
というエラーが発生します。
そしてasをas!にしましたが今度は同じ行で
fatal error: unexpectedly found nil while unwrapping an Optional value
というエラーが発生します。
一応、その前のプログラムも添付しておきます。(サンプルプログラムのままです)
func configureCamera() -> Bool {
// init camera device
var captureDevice: AVCaptureDevice?
var devices: NSArray = AVCaptureDevice.devices()
// find back camera
for device: AnyObject in devices {
if device.position == AVCaptureDevicePosition.Back {
captureDevice = device as? AVCaptureDevice
}
}
if (captureDevice != nil) {
// Debug
println(captureDevice!.localizedName)
println(captureDevice!.modelID)
} else {
println("Missing Camera")
return false
}
// init device input
var error: NSErrorPointer!
var deviceInput: AVCaptureInput = AVCaptureDeviceInput.deviceInputWithDevice(captureDevice, error: error) as! AVCaptureInput
self.stillImageOutput = AVCaptureStillImageOutput()
}