OGeek|极客世界-中国程序员成长平台

标题: ios - 接收者没有标识符“***”的segue [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:48
标题: ios - 接收者没有标识符“***”的segue

我第一次遇到这个问题。我检查了堆栈溢出的类似问题,但没有一个解决方案可以解决我的问题,所以我有这个帖子。

到目前为止,我有两个 View controllers(比如说 A 和 B),我正在尝试将它们与名称为“toB”的 segue 连接起来。当我运行程序时,Xcode 告诉我 Receiver(B) has no segue with identifier "toB".

我很确定 storyboard 中的 identifier 和代码中的拼写完全一样。并且segue的线已经连接了A view controllerB view controller

但是两个 View controllersstoryboard ID是不同的。是不是有问题?

希望有人可以帮助我。提前致谢!


解决方案

感谢@Amit Shelgaonkar 的提示!就我而言,将 performSegueWithIdentifier 移动到 viewDidAppear 仍然不起作用,但将其移动到 applicationWillEnterForeground 可以解决问题!

我仍然不知道为什么它在我的情况下不起作用,因为当我尝试开发一个测试应用并将 performSegueWithIdentifier 放在 viewDidAppear 中时,它完美运行。



Best Answer-推荐答案


您在 viewDidLoad 中调用 performSegueWithIdentifier:sender:。您不能关闭尚未呈现的 UIViewControllerviewDidLoad 具有纯粹的内存管理功能,您可以将其用作(a 的一部分)构造函数。可行的方法是在 viewDidAppear 中启动 segue,但是我建议您在第一时间从您想要的 View 开始。

关于ios - 接收者没有标识符“***”的segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31241877/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4