-1

上記のエラーを受け取り、do / catch ブロックを追加してこれを修正しようとしました。なぜかエラーが消えません。なぜこれができるのか誰にも分かりますか?

 override func viewDidAppear(animated: Bool) {
    super.viewWillAppear(animated)

    captureSession = AVCaptureSession()
    captureSession?.sessionPreset = AVCaptureSessionPreset1920x1080

    let backCamera = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeVideo)

    do {

        let input = AVCaptureDeviceInput(device: backCamera)

        captureSession?.addInput(input)

        stillImageOutput = AVCaptureStillImageOutput()
        stillImageOutput?.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]

        if (captureSession?.canAddOutput(stillImageOutput) != nil){
            captureSession?.addOutput(stillImageOutput)

            previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
            previewLayer?.videoGravity = AVLayerVideoGravityResizeAspect
            previewLayer?.connection.videoOrientation = AVCaptureVideoOrientation.Portrait
            oview.layer.addSublayer(previewLayer!)
            captureSession?.startRunning()

        }

    } catch {

    }

}
4

2 に答える 2

0

あなたはSwiftコードを書いています。Java または C++ コードではありません。例外の動作は異なります。コードの大きなブロックではなく、スローできる単一の呼び出しに対して try を使用する必要があります。

無料の Swift 2 ブックをダウンロードして、Swift 2 で例外がどのように機能するかを学ぶことをお勧めします。他の言語との類似性は表面的なものにすぎません。

于 2015-11-14T18:33:14.947 に答える