self.performSegue 找不到 storyboard-segue-ID,即使它已被命名

self.performSegue cannot find storyboard-segue-ID even though it has been named

我正在尝试以编程方式在 LiveController.swift 中进行 segue。相关代码位在 LiveController.swift

self.performSegue(withIdentifier:"openWelcomePage" ,sender:self)

抛出错误:

2020-04-16 20:51:44.614413-0400 alpha[53206:2805423] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<alpha.LiveController: 0x101c248c0>) has no segue with identifier 'openWelcomePage''

这表示转场还没有命名。但它有:

全部故事板在这里:

请注意突出显示的 NavigationController 是来源,它嵌入了 Live 附加到 LiveController.swift。 segue 的目标是 Log inSign up 的页面。

注意,当我将按钮放入 LiveController 并将一个 segue 从按钮拖到 Welcome 视图,并将其命名为 buttonSegue:

 self.performSegue(withIdentifier:"buttonSegue" ,sender:self)

按预期模式显示页面。

这可能是一些问题,所以请尝试这些修复:

  1. 清理并构建您的项目。然后,再次运行。
  2. 退出 Xcode,打开项目并 运行。
  3. Attribute Inspector 中,删除 openWelcomePage 并将其留空。

希望这些建议中的任何一个对您有所帮助。

您需要从 LiveController 中获取 segue,而不是从 Navigation Controller 中获取