gpt4 book ai didi

swift - 在 HalfSizePresentationController 类中展开时意外发现 nil

转载 作者:行者123 更新时间:2023-11-30 10:06:35 25 4
gpt4 key购买 nike

我尝试在另一个大小为父 View Controller 一半的 View Controller 上实现呈现模态视图 Controller 。

Present modal view controller in half size

当我运行此错误时显示:

fatal error :在解包可选值时意外发现 nil(lldb)

代码问题?

func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController, sourceViewController source: UIViewController) -> UIPresentationController? {
return HalfSizePresentationController(presentedViewController: presented, presentingViewController: presentingViewController!)
}

最佳答案

通常情况下,如果您意外地发现 nil...,罪魁祸首是您试图强行打开的东西!

在你的情况下,唯一带有 !是 presentingViewController 所以这可能是一个开始寻找的好地方。

if let presenting = presenting {
return HalfSizePresentationController(presentedViewController: presented, presentingViewController: presenting!)
}

实际上,当我开始仔细查看您的代码时,请查看您的签名:

func presentationControllerForPresentedViewController(presented: UIViewController, presentingViewController presenting: UIViewController, sourceViewController source: UIViewController) -> UIPresentationController?

您有一个 presentingViewController 外部参数名称,但内部参数名称是 presenting,但您尝试使用 presentingViewController 而不是使用参数时呈现:

return HalfSizePresentationController(presentedViewController: presented, presentingViewController: presentingViewController!)

应该是:

return HalfSizePresentationController(presentedViewController: presented, presentingViewController: presenting!)

希望有帮助

关于swift - 在 HalfSizePresentationController 类中展开时意外发现 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35596943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com