我有一个iOS应用程序,使用带有视图控制器的故事板,它可以分割为两个不同的模态视图控制器。一个segue由一个按钮触发,一个由定时器触发。它们都工作正常,除非按钮触摸内部和计时器发生得太近。如果来自按钮的segue恰好发生在来自计时器的segue之前,则按钮的segue会运行,但即使prepareForSegue被调用,也不会出现来自计时器的segue。
这是prepareForSegue代码,
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"segueFromTimer"]) {
// Get destination view
fromTimerViewController *vcTimer = [segue destinationViewController];
// do some stuff
// ...
}
if ([[segue identifier] isEqualToString:@"segueFromButton"]) {
// Get destination view
fromButtonViewController *vcButton = [segue destinationViewController];
// do some stuff
// ...
}
}
我可以在prepareForSegue中设置断点,看看它是用id = segueFromTimer调用的,并且destinationViewController看起来有效,但是segueFromTimer segue永远不会出现。