接收问题:无法在 Xcode 上设置“UIViewController”类型的值

Posted

技术标签:

【中文标题】接收问题:无法在 Xcode 上设置“UIViewController”类型的值【英文标题】:Receiving issue: Could not cast value of type 'UIViewController' trying to animate on Xcode 【发布时间】:2020-05-12 00:00:56 【问题描述】:
 override func prepare(for segue: UIStoryboardSegue, sender: Any?) 
    let secondVC = segue.destination as! SettingsViewController //error is marked here
    secondVC.transitioningDelegate = self
    secondVC.modalPresentationStyle = .custom


func animationController(forPresented presented: UIViewController, presenting: UIViewController, source: UIViewController) -> UIViewControllerAnimatedTransitioning? 
    transition.transitionMode = .present
    transition.startingPoint = settingsButton.center
    transition.circleColor = UIColor.white

    return transition


func animationController(forDismissed dismissed: UIViewController) -> UIViewControllerAnimatedTransitioning? 
    transition.transitionMode = .dismiss
    transition.startingPoint = settingsButton.center
    transition.circleColor = UIColor.white

    return transition

我正在关注this tutorial 以动画我的 Xcode 应用程序使用 Swift。我遇到了我的 SettingsViewController 无法转换为 UIViewController 的错误。我已经检查了具有相同错误的其他问题,但我没有发现任何有用的东西。

我收到错误 - SIGABRT:无法将类型“UIViewController”(0x7fff897a42b8)的值转换为“Healthify.SettingsViewController”(0x107cd6a98)

有人知道我做错了什么或经历过类似的事情吗?

【问题讨论】:

异常表示您有一个UIViewController 的实例而不是SettingsViewController。在情节提要中检查您的场景的自定义类。 【参考方案1】:

我发现了问题。我在 ViewController 中嵌入了一个 UiViewController,它将 UiViewController 类型转换为 SettingsViewController。

我不需要 UiViewController,所以我删除了它,错误就消失了。

【讨论】:

以上是关于接收问题:无法在 Xcode 上设置“UIViewController”类型的值的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Controller 设置 UIView 背景颜色

制作一个 UIVIew,它出现在 xcode 项目中的所有 .NIb 文件上

如何在 Xcode 中创建自定义 UIView?

XCODE:UIView 背景没有出现在屏幕上,即使我在情节提要中设置了颜色并以编程方式

子类化的 UIView,当设置为 Storyboard 中的默认视图时,编译器无法识别而不进行强制转换

每个被点击的链接的 Xcode UIView