Receiver没有标识符“***”
我第一次遇到这个问题。 我检查了堆栈溢出类似的问题,但没有解决scheme可以解决我的问题,所以我有这个post。
到目前为止,我有两个视图controllers
(让我们说A和B),我试图用一个名为“toB”的segue连接它们。 当我运行这个程序的时候,Xcode告诉我Receiver(B) has no segue with identifier "toB"
。
我很确定storyboard
和代码中identifier
的拼写完全相同。 并且segue的线连接了A view controller
和B view controller
。
但两个视图controllers
的storyboard
ID是不同的。 这是问题吗?
希望有人能帮助我。 提前致谢!
解
感谢@Amit Shelgaonkar的提示! 在我的情况下,移动performSegueWithIdentifier
viewDidAppear
仍然无法正常工作,但将其移动到applicationWillEnterForeground
解决问题!
我仍然不知道为什么它不起作用,因为当我试图开发一个testing应用程序,并把performSegueWithIdentifier
放在viewDidAppear
,它完美的作品。
你可以调用performSegueWithIdentifier:sender:
在viewDidLoad
。 你不能closures还没有出现的UIViewController
。 viewDidLoad
具有纯粹的内存pipe理function,你可以使用它作为构造函数的一部分。 什么可能工作,是开始在viewDidAppear
的segue
,但是我会build议首先你想要的视图开始。
要检查什么:
A和B之间,塞格的名字。
2.代码应该是这样的: [self performSegueWithIdentifier:@"toB" sender:self];
3.检查你的B视图是否具有自定义类。
4.尝试清理项目并再次运行。
有点老,但希望这有助于我有同样的问题。 经过这里所有的build议,问题变成了我的接受视图,在该视图的类声明中,我将其设置为ViewController而不是UIViewController。
例如,我原来是这样的,是错的
class viewB: ViewController{
这是对的
class viewB: UIViewController{
- UIView transitionWithView不起作用
- 我将哪种Swift数据types用于货币
- 如何判断用户是否closures我的应用程序的蜂窝数据?
- 从Swift中的Eureka Forms获取值
- 将Google AnalyticsSDK(GoogleAnalyticsiOS_2.0beta4)集成到我的iOS应用中时出错
- 有多行的UISegmentedControl文本?
- 逐步更改iPad Pro的字体大小
- UICollection View在较小的设备上导致“UICollectionViewFlowLayoutBreakForInvalidSizes”
- 为什么XCode和仪器内存使用的巨大差异,是否可以?