【发布时间】:2020-12-20 23:44:58
【问题描述】:
我正在尝试展示 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).
【问题讨论】:
-
SwiftyCamViewController 应该从 UIViewController 继承(否则项目将不会编译),因此您呈现的是 UIViewController。是否有任何其他打印/错误的日志可以提供更多详细信息?错误可能是任何东西 - 例如,故事板链接问题。
-
你能分享一下 Xcode 给你的确切错误信息吗?
-
我编辑了错误信息。呈现普通视图控制器时,代码可以正常工作
标签: ios swift uiviewcontroller viewcontroller