gpt4 book ai didi

uiviewcontroller - 如何在 "instantiateViewControllerWithIdentifier"上捕获 nil

转载 作者:行者123 更新时间:2023-12-05 07:57:13 28 4
gpt4 key购买 nike

我经常发现在我的项目中我可能需要通过 Storyboard ID/Restoration ID 启动 UIViewController;但是,我经常通过查询包含与标题关联的 ID 的字典来获取 ID,并且可能某些 ID 实际上无效/未创建,但会导致引发异常。有没有办法在不引发异常的情况下确定该 ID 不存在?我用简单的“if-then”逻辑尝试了这个但没有成功。这是我得到的。

var VC: UIViewController? = self.storyboard?.instantiateViewControllerWithIdentifier(masterViewList["ExampleView"]!) as UIViewController?
if VC == nil {
//NOT FOUND
alert.title = "Unable to Find UIViewController"
alert.message = "The Selected View is unavailable!"
alert.addButtonWithTitle("Dismiss")
}
else {
self.navigationController?.pushViewController(VC!, animated: true)
}

Apple 的文档清楚地说明了当“instantiateViewControllerWithIdentifier”失败时,它会引发异常,所以我知道为什么上面的代码不起作用,我只是不知道是否有解决办法或者我是否只能活下去并引发异常。

最佳答案

Apple 的文档确实说该方法会引发异常,但方法签名:

open func instantiateViewController(withIdentifier identifier: String) -> UIViewController

另说。显然他们的意思是 UIKit 将引发终止应用程序的异常。

关于uiviewcontroller - 如何在 "instantiateViewControllerWithIdentifier"上捕获 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27594767/

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