快速呈现自定义ViewController类?

问题描述

我正在尝试提供一个SwiftyCam视图控制器(https://github.com/Awalz/SwiftyCam),但是在尝试呈现它时出现SIGABRT错误。我认为是因为该类的类型为SwiftyCamViewController而不是UIViewController,如何呈现视图控制器而不会崩溃?

let vc = self.storyboard?.instantiateViewController(withIdentifier: "VideoTapingVC") as! VideoTapingVC
self.present(vc,animated: true)

class VideoTapingVC: SwiftyCamViewController,SwiftyCamViewControllerDelegate {
    
    let captureButton = SwiftyCamButton(frame: CGRect(x: 100,y: 400,width: 70,height: 70))
    override func viewDidLoad() {
        super.viewDidLoad()
        captureButton.delegate = self
        defaultCamera = .front
        doubleTapCameraSwitch = true
    }
    func swiftyCam(_ swiftyCam: SwiftyCamViewController,didBeginRecordingVideo camera: SwiftyCamViewController.CameraSelection) {
        
    }
    func swiftyCam(_ swiftyCam: SwiftyCamViewController,didSwitchCameras camera: SwiftyCamViewController.CameraSelection) {
    }
    func swiftyCam(_ swiftyCam: SwiftyCamViewController,didFinishProcessVideoAt url: URL) {
    }
}

这是尝试显示时的错误

Could not cast value of type 'UIViewController' (0x1e882f178) to 'databaseProject.VideoTapingVC' (0x10487f290).

解决方法

该错误消息描述了UIViewController。我相信这是因为您忘记在情节提要中的身份检查器中输入视图控制器类型。