iPhone 没有显示新的视图控制器

我已经遍布了整个谷歌,我似乎无法找出这一个。 这是我的场景:

我有我的应用程序的“主屏幕”,用户首先做出关于他们将要做的事情的决定。 该应用程序的CoreData数据库是由“导入”XML文件创build的。 用户可以select在应用程序中打开附加到电子邮件的XML文件,这会自动触发我的主屏幕显示并运行文件的导入。

我可以得到这个没有任何问题。 在我的故事板中,我有一个名为ParseSegue的Segue从我的主屏幕到一个视图控制器,它将处理parsing并给用户一些状态信息。

当通过电子邮件应用程序调用主屏幕时,主屏幕会自动调用

[self performSegueWithIdentifier:@"ParseSegue" sender:self]; 

然后我在prepareForSegue中检查这个segue名字,这是一个有效的名字。 这是我将文件URL分配给parsing器控制器的地方,以便parsing正确的文件。

问题是segue从来没有真正发生。 prepareForSegue方法被调用,名称“ParseSegue”可以检查和有效,但segue本身根本不会发生。 如果我在主屏幕上添加一个button,并告诉它在故事板中执行segue,它可以正常工作。 但以编程方式调用它似乎什么都不做。

事实certificate,我是完全看错了地方。 我的问题是,在我的appDelegate,应用程序对传入的URL作出反应,我无意中创build了我的故事板和我的主视图控制器的新实例。 这与已经活跃的,可能会或可能不在屏幕上的是不同的。

我创build的控制器从未实际显示过。 我只注意到这个,因为日志:

 NSLog(@"Source: %@", [segue.sourceViewController description]); 

会为我的testing(button按下)和导入testing显示不同的内存地址。 这使我相信我实际上正在处理故事板和应用程序主视图控制器的两个不同实例。 感谢Paul对logging目标和源控制器的build议。