私はstackoverflowとGoogleのいたるところにいて、これを理解できないようです。これが私のシナリオです:
私のアプリの「メイン画面」では、ユーザーが最初に何をするかを決定します。このアプリは、XMLファイルを「インポート」することで作成されたCoreDataデータベースで動作します。ユーザーは、アプリケーションで電子メールに添付されたXMLファイルを開くことを選択できます。これにより、メイン画面が自動的にトリガーされ、ファイルのインポートが表示されて実行されます。
私は問題なくここまで到達することができます。ストーリーボードには、メイン画面からビューコントローラーへのParseSegueというセグエがあります。このセグエは、解析を処理し、ユーザーにステータス情報を提供します。
メールアプリでメイン画面を呼び出すと、メイン画面で自動的に
[self performSegueWithIdentifier:@"ParseSegue" sender:self];
次に、prepareForSegueでこのセグエ名を確認します。これは有効な名前です。ここで、ファイルURLをパーサーコントローラーに割り当てて、正しいファイルを解析できるようにします。
問題は、セグエが実際には起こらないということです。prepareForSegueメソッドが呼び出され、「ParseSegue」という名前をチェックして有効にできますが、セグエ自体は発生しません。メイン画面にボタンを追加して、ストーリーボード内でセグエを実行するように指示すると、正常に機能します。しかし、プログラムで呼び出すと何も起こらないようです。