アプリに状態復元を使用しています。私は vc1 -> vc2 -> vc3 を持っています。
vc3 では、復元デリゲートと復元識別子を実装しました。しかし、vc1 と v2 では、識別子のみを実装しました。
vc3 に到達すると、問題なく復元されます。しかし、vc2 に到達すると、それも復元されます。復元識別子のみが設定されています。中間ビューコントローラーも復元されますか? 私はそれをしたくありません。
アプリに状態復元を使用しています。私は vc1 -> vc2 -> vc3 を持っています。
vc3 では、復元デリゲートと復元識別子を実装しました。しかし、vc1 と v2 では、識別子のみを実装しました。
vc3 に到達すると、問題なく復元されます。しかし、vc2 に到達すると、それも復元されます。復元識別子のみが設定されています。中間ビューコントローラーも復元されますか? 私はそれをしたくありません。
基本的に UIKit は、Reuse Identifiers が設定されているビュー コントローラー (サブビューを含む) を復元します。あなたの場合、3つのView Controllerの識別子をすべて設定しました。したがって、vc3 に対してのみ UIStateRestoration メソッドを実装したとしても、すべての VC が復元されます。
vc2 のReuseIDだけを削除して、再利用 ID を使用してvc3メソッドをそのままにして、アプリを実行することができます。vc2には再利用 ID がないため、UIKit はそれを復元することを気にしません。vc2 の再利用 ID を削除した場合に考えられる結果は、次のいずれかになります。
1. vc3 が復元され、[戻る] ボタンを押すと、vc1 に直接移動します。
2. vc1 のみが復元されます