私は何日も振り返っています。3 つの ViewController の階層があります。
VC1 で開始し、そこから VC2 をロードできます。VC2 では、VC3 をロードできます。
私のナビゲーションは VC1->VC2->VC3 と同じように後方に正常に動作します。
VC3 を使用すると、ユーザーは VC1 に戻ることができます。
VC1がデリゲートになったことをVC3に伝えることができるかどうか疑問に思います。VC2でもいいのですが、VC3で保存したデータをVC1で使いたいです。
私は何日も振り返っています。3 つの ViewController の階層があります。
VC1 で開始し、そこから VC2 をロードできます。VC2 では、VC3 をロードできます。
私のナビゲーションは VC1->VC2->VC3 と同じように後方に正常に動作します。
VC3 を使用すると、ユーザーは VC1 に戻ることができます。
VC1がデリゲートになったことをVC3に伝えることができるかどうか疑問に思います。VC2でもいいのですが、VC3で保存したデータをVC1で使いたいです。
あるクラスから別のクラスに値を渡すデリゲートを作成します。次に、VC1 が VC2 から受信し、VC2 が VC3 から受信する VC1 と VC2 の両方にデリゲートを設定します。
次に、VC3 からデリゲートを呼び出し、値を VC2 に渡します。VC2 では、呼び出されたメソッドが VC1 へのデリゲートの呼び出しを実装し、値が vc1 にあります。
VC3-->del-->VC2-->del->VC1
VC1 が VC2 のデリゲートである場合、VC2 のデリゲート プロパティを VC3 のデリゲート プロパティに割り当てることができます。
VC3 がナビゲーション スタックにプッシュされる前の VC2 @implementation:
vc3Instance.delegate = self.delegate
たとえば、各View Controllerに「master」と呼ばれる弱いプロパティを追加し、それを提示したView Controllerを指すようにすることをお勧めします。これを行うと、次の方法で VC3 から VC1 (およびそのすべてのデータ) に到達できます。
VC1ViewController *vc1 = self.master.master;