我一直在使用 stackoverflow 和整个 Google,但我似乎无法弄清楚这一点。这是我的场景:
我有我的应用程序的“主屏幕”,用户首先在其中决定他们将要做什么。该应用程序使用通过“导入”XML 文件创建的 CoreData 数据库。用户可以选择在我的应用程序中打开附加到电子邮件的 XML 文件,这会自动触发我的主屏幕显示并运行文件的导入。
我可以毫无问题地做到这一点。在我的故事板中,我有一个名为 ParseSegue 的 segue 从我的主屏幕到一个视图控制器,它将处理解析并为用户提供一些状态信息。
通过电子邮件应用程序调用主屏幕时,主屏幕会自动调用
[self performSegueWithIdentifier:@"ParseSegue" sender:self];
然后我在 prepareForSegue 中检查这个 segue 名称,它是一个有效的名称。这是我将文件 URL 分配给解析器控制器的地方,以便它可以解析正确的文件。
问题是转场从未真正发生过。prepareForSegue 方法被调用,名称“ParseSegue”可以被检查并且是有效的,但是 segue 本身根本不会发生。如果我在主屏幕上添加一个按钮并告诉它在情节提要中执行 segue,它就可以正常工作。但是以编程方式调用它似乎什么也没做。