gpt4 book ai didi

ios - presentViewController 给出错误

转载 作者:行者123 更新时间:2023-11-28 09:10:55 29 4
gpt4 key购买 nike

这是我在这里的第一个问题,所以它可能不是最好的格式。

在我的应用程序中,我想显示下一个屏幕,这个屏幕单独运行时工作正常,所以这里应该没有问题。我正在使用以下代码进行转换

let dataViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Data")

self.presentViewController(dataViewController, animated: true, completion: nil)

在第二行 self.presentViewController 我收到错误消息:

Cannot convert the expression's type '(AnyObject?, animated: BooleanLiteralConvertible, completion: NilLiteralConvertible)' to type 'BooleanLiteralConvertible'

我找到的唯一答案是该函数是 presentViewController 而不是 presentedViewController,并且有同样的错误。我不得不承认我确实遇到了那个问题。但是在代码中修复此错误后,错误消息并没有消失。任何人都可以告诉我正确的搜索方向,或者有人甚至得到了答案。

最佳答案

您需要从 instantiateViewControllerWithIdentifier 中指定预期类型,因此在获取 View Controller 时使用以下行:

let dataViewController = self.storyboard?.instantiateViewControllerWithIdentifier("Data") as UIViewController?

'as' 关键字通知编译器您期望返回的真实类型是什么(也称为转换)。

instantiateViewControllerWithIdentifier 返回 AnyObject 类型的对象。由于您自己没有指定类型 AnyObject(相当于 ObjC 中的 id)将被使用。

presentViewController 需要一个 UIViewController 实例,而您却给他 AnyObject,因此出现错误

关于ios - presentViewController 给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29389265/

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