【发布时间】:2014-12-11 04:56:07
【问题描述】:
我的情况与this 帖子完全相同,但无论出于何种原因,我的performSegueWithIdentifier:sender 中只有一个有效。
我有一个视图控制器(嵌入在 UINavigationController 中),有两个按钮,取消和完成。单击时,我希望取消以展开到一个屏幕,并完成以展开到另一个屏幕;但是,这只适用于我设置的两个 segue 之一。
- (IBAction)clickedDone:(id)sender {
[self performSegueWithIdentifier:@"unwindToHome" sender:self];
}
- (IBAction)clickedCancel:(id)sender {
[self performSegueWithIdentifier:@"unwindToViewEntries" sender:self];
}
“unwindToHome”工作正常,而“unwindToViewEntries”什么也不做。没有错误,没有打印,什么都没有。如果我切换 segues 和按钮,“unwindToHome”仍然可以工作,而“unwindToViewEntries”什么都不做。
我在两个 ViewController 中都有我想要展开的展开方法,并且按钮上没有附加任何其他操作。
我觉得只有一个有效,这很奇怪。我已经看了好几遍了,我看不出有什么不同。
提前感谢您的帮助。如果还有其他需要检查的地方,请告诉我!
我已经查看了以下帖子的解决方案:
我还尝试过删除转场并重新添加它们,以及删除和重新添加整个视图控制器。每次都是一样的行为。
编辑:我还应该提到,我已经尝试在不同的视图中添加其他 segues,而我添加的新的 segues 都没有工作。只有“unwindToHome”似乎有效,我不知道为什么。
【问题讨论】:
-
您确定在界面构建器中放置了正确的标识符吗?
-
是的,检查了几次。甚至尝试重命名它们只是为了看看。没有改变。如果标识符错误,它无论如何都会抛出异常。
-
你检查
self.storyboard的值了吗? -
我不太确定在哪里检查,但无论单击 Cancel 还是 Done 都是相同的值。
-
你将 segue 的源设为视图控制器而不是按钮,我假设......
标签: ios objective-c iphone