2017-02-26 10 views
2

私のストーリーボードのレイアウトは、MainVCModalVCに接続されており、それはモーダルで表示されます。単一のモーダルビューコントローラのアンワインドセグを同じソースビューコントローラの複数のインスタンスの1つに戻すことはできますか?

ただし、プログラムでは、実行時にMainVCという5つのインスタンスがインスタンス化されます。

結果として、MainVCの5つのインスタンスはすべて、同じ識別子でModalVCに接続されます。

MainVCでいくつかのアクションを実行してから、プロパティを変更する必要があります。これを解除するには、さまざまな方法があります。

ここでトップの答えは非常に詳細で、アンワインドセグエを使用しての実装を説明するだけであり一つのソース・ビュー・コントローラであることのシナリオで: Passing data with unwind segue

私の質問です:はセグエを使用します、その答えや他の方法のように私の状況では、同じMainVC(同じ識別子)の複数のインスタンスがModalVCの単一インスタンスに添付されていますか?

unwind segueは、それを開始した単一のMainVCインスタンスでのみデータを転送したり、アクションを実行したりしますか?または、MainVCインスタンスの識別子が同じであるため、5つのMainVCインスタンスすべてに影響しますか?後者の場合は、これを回避する方法はありますか?

答えて

2

Appleは、どのようにunwind seguesが動作するか、および宛先ビューコントローラがどのように決定されるかについて包括的に説明していますが、要約すると、プロセスはView Controllerのナビゲーション階層を調べ、unwind segueを処理できる喜んでそうする。

あなたのケースでは、MainVCインスタンスは、ModalVCを巻き戻しています。アンワイングセグをナビゲーション階層にないビューコントローラインスタンスで処理することはできません(を表示しなかったMainVCのインスタンス)