データの保存コメントを残すUnityでストップウォッチを作るシリーズ半年ぶりの更新で、最後になります。今回はアプリを終了しても継続して計測できるようにデータを保存したいと思います。Stopwatch.csに以下のコードを追加してください。ChangeState関数に関しては、最後に1行だけの追加になります。保存したいデータは3つだけですので、簡単に保存が出来るPlayerPrefsを使っています。PlayerPrefsに保存できる型は「int」「float」「string」の3つだけです。Save()関数でデータの保存をしています。今回のコードで保存しているのはStopwatchクラスの変数の「state」「lastStopTime」および「startDateTime」の3つです。stateはintで大丈夫なのですが、他の2つはTicksというlong(リファレンスを見ると64bit)の値を保存したいので、intを使うのはちょっと不安です。文字列に変換して、stringで保存をしています。Load()関数では保存したデータから読み込みをしています。long.Parseで文字列から数値に変換していますが、このParse関数は文字列から数値を探せなかったときに例外を発生させます。今回のコードのように何もしていない状態で例外が飛んでくると問題が起きますので、念のためにtryで囲って例外をキャッチしたら無視するなり、エラーダイアログを出すなりした方がよいと思います。サンプルプロジェクトこれで最後という事で、プロジェクトをgithubにアップしてあります。コメントをキャンセルメールアドレスが公開されることはありません。