2016-10-25 10 views
1

私は自分のアプリケーションの状態の復元を使用しています。 私はvc1 - > vc2 - > vc3を持っています。中間ビューコントローラが復元されるのはなぜですか?

私はvc3上で復元代理人と復元識別子を実装しました。しかし、vc1とv2では識別子だけを実装しました。

私がvc3に達すると、それは元に戻されます。 しかし、私がvc2に達すると、復元されます。復元識別子のみが設定されています。中間のビューコントローラーも復元されますか?私はそれを望んでいない。

答えて

0

基本的にUIKitは、再利用識別子が設定されたビューコントローラ(サブビューを含む)を復元します。あなたの場合は、3つすべてのView Controllerの識別子を設定しています。したがって、vc3だけのUIStateRestorationメソッドを実装していても、すべてのVCが復元されます。

あなたは、その再利用IDを持つ無傷でVC3方法で、一人でVC2ためReuseIDを削除しようとすると、あなたのアプリケーションを実行することができます。 vc2には再利用IDがないため、UIKitは復元を気にしません。

1. VC3が復元されるだろう、とあなたはそれのボタンをバック押すと、あなたは直接VC1

2に移動します:あなたはVC2のために再利用IDを削除する可能性のある結果は、これらのものであろう。あなたのvc1のみが復元されます

関連する問題