【Swift】【XCode】「RestrationID」と「Identifier」の違い

目次

RestrationIDとIdentifierの違い

設定画面では、上下に並んでいて何が違うのかよくわからなかったので、調べてみました。

SettingImage

Identifier

  • StoryboardにあるUIViewControllerを特定するための識別子
  • 画面遷移などでUIViewControllerを識別するために使用する

RestrationID

ビューコントローラーが状態の復元をサポートしているかどうかを判断する識別子です。

ここでいう、状態の復元とは、アプリを落として再度起動し直したときに、そのアプリの画面をアプリを落とす直前の画面に戻すことをです。これをState Restorationと言います。

そして、このIDを付けているUIViewControllerはその状態の復元の対象になります。

しかし、条件があり、その画面よりも前の画面にもRestrationIDが設定されている必要があります。
以下の画像の、赤枠のチェックボックスはRestrationIDとIdentifierは同じ値で扱うのが一般的なので、Identifierと同じ値を使いますよというチェックボックスになります。

CheckBox

実装方法については、省きますが、State Restorationは難しい機能なので、他の方法でユーザーエクスペリエンスを担保できないか考えるのもありだと思います。

Author

Daiki Iijima

Posted on

2021-08-20

Updated on

2024-04-17

Licensed under