gpt4 book ai didi

ios - performSegueWithIdentifier 抛出奇怪的错误

转载 作者:行者123 更新时间:2023-11-28 07:04:17 26 4
gpt4 key购买 nike

我有一个项目,其中有一个 Storyboard。 Storyboard包含几个 View Controller 。我将简化它并省略不必要的细节。在 Navigation Controller 中,有几个 UIViewControllers 与 segues 相连。 (见下面的截图...)enter image description here

在底行从左到右依次为 Navigation Controller ➞ VC1 ➞ VC2。 VC1 在顶行也有一个到 VC3 的手动 segue,即 VC3 ➞ VC4。 VC1 是应用程序的起始 View Controller 。有两个 segue 从 VC1 连接。来自 VC1 ➞ VC2 的转场是主要转场,来自 VC1 ➞ VC3 的转场是次要转场。当用户第一次运行应用程序时,将以编程方式调用辅助转场,作为一种欢迎/入门序列。

我将其设置为 this post here ,引用第二个最受好评的帖子,其中用户建议在起始 VC 文件本身和另一个 VC 的 View 之间进行 segue,然后调用 performSegueWithIdentifier...。这就是问题所在。

运行此应用时,没有编译时错误。一切看起来都不错。它加载了,我将这个设置放在 View 中并加载了,现在我强制它像第一次那样运行......

override func viewDidLoad() {
super.viewDidLoad()

let firstVisit = true

if firstVisit == true {
self.performSegueWithIdentifier("welcomeSegue", sender: self)
}

// Do any additional setup after loading the view.
}

所以它加载了。我可以告诉它在 VC3 根据需要 swift 被推到顶部之前尝试显示 VC1。 VC3 显示,精彩。当我按下 VC3 上的唯一按钮时会出现此问题,该按钮应该从 VC3 ➞ VC4 执行典型的转场。这是当我收到以下错误时:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<X.VC1>) has no segue with identifier 'welcomeSegue''

现在让我感到奇怪的是,尽管 VC3 已正确呈现,但此错误源自 VC1,如 Receiver (<X.VC1>) 所示。我很难过。我在网上发现的所有错误都显示了其他对我不起作用的解决方案。如果你不相信我说我知道拼写是正确的,A) 它正确地加载了 View Controller ,B) 这里是一个屏幕截图。 enter image description here

我不明白:[如果您有任何建议,请告诉我。谢谢大家。

** 再次提醒,此应用程序会按应有的方式正确加载和显示 VC3。之后,当我尝试转至 VC4 时出现错误,但通过 INTERFACE BUILDER 转转是正常的,没有标识符,因为它不需要链接到代码,就像转至 VC3 那样。

编辑:Here is a sample project功能正常。我无法区分让我与众不同的区别。

编辑#2:我承认犯了一个愚蠢的错误。标记的解决方案已找到并更正它,项目现在可以正常运行。谢谢大家。

最佳答案

我研究了您的项目,发现您为 VC4 分配了错误的类,如下图所示:

enter image description here

只需删除 HomeVC 并为其分配新类,它就可以正常工作。

关于ios - performSegueWithIdentifier 抛出奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31198500/

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