【Swift】【XCode】「RestrationID」と「Identifier」の違い
目次
RestrationIDとIdentifierの違い
設定画面では、上下に並んでいて何が違うのかよくわからなかったので、調べてみました。
Identifier
- StoryboardにあるUIViewControllerを特定するための識別子
- 画面遷移などでUIViewControllerを識別するために使用する
RestrationID
- 公式ドキュメント : https://developer.apple.com/documentation/uikit/uiviewcontroller/1621499-restorationidentifier
ビューコントローラーが状態の復元をサポートしているかどうかを判断する識別子です。
ここでいう、状態の復元とは、アプリを落として再度起動し直したときに、そのアプリの画面をアプリを落とす直前の画面に戻すことをです。これをState Restoration
と言います。
そして、このIDを付けているUIViewControllerはその状態の復元の対象になります。
しかし、条件があり、その画面よりも前の画面にもRestrationID
が設定されている必要があります。
以下の画像の、赤枠のチェックボックスはRestrationIDとIdentifierは同じ値で扱うのが一般的なので、Identifierと同じ値を使いますよというチェックボックスになります。
実装方法については、省きますが、State Restoration
は難しい機能なので、他の方法でユーザーエクスペリエンスを担保できないか考えるのもありだと思います。
【Swift】【XCode】「RestrationID」と「Identifier」の違い
https://blog.djima.net/2021/08/20/【Swift】【XCode】「RestrationID」と「Identifier」の違い/