[Swift3]前回の操作からの時間を取得する

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る
Swift

DateクラスのtimeIntervalSince1970プロパティとUserDefaultsを利用して、前回の操作からの時間を取得する処理を実装する。

今回作るもの

ボタンを押すとアラートが表示される。メッセージには前回アラート表示からの経過秒数を表示するが、初回表示の時はその旨を表示する。

実装する

データ保存用のUserDefaultsを用意する

前回の操作をいつ行ったかを保存するために、UserDefaultsを用意する。また、初回操作かどうかを判定するために初期値をviewDidLoadで設定しておく。

なお一度操作を行って値が上書きされると、アプリを終了して再度viewDidLoadが呼び出されても初期値の設定は行われなくなる。(初期化したい場合はアプリを削除する)

アラートを表示する処理を打ち込む

ひとまず、ボタンを押したらアラートが表示されるようにしておく。タイトルとメッセージはこの次に実装する。

操作した時間を取得して前回操作からの時間を計算する

DateクラスのtimeIntervalSince1970プロパティから「1970年1月1日の0時0分0秒(という、固定の基準)」からの経過秒数がコンマ付きで取得できる。これを利用して、前回操作した時間と今回操作した時間の差を計算する。

完成したソース

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。