swiftでストップウォッチの様に時間を計り続けるという事をしたいです。
しかし、実機で時間を測り始めてバックグラウンドに切り替えてから少しするとアプリを開いた最初の画面に戻ってしまいます。これは何故でしょう?
因みにこちらのサイトを参考にAppDelegate.swiftの部分だけ編集しました。
https://qiita.com/SatoTakeshiX/items/8e1489560444a63c21e7
仮に時間を測り続けることができなかったとしても、一定時間たってバックグラウンドから戻ると画面遷移する前のアプリが開いたときの状態に戻ってしまうのだけでも何とかしたいです。。。
因みにデフォルトのアプリのストップウォッチの様なことはできないかと思っていましたが、あれは特別な様ですね。あのデフォルトのアプリの様に、バックグラウンドに行ったり閉じたりしても画面に経過時間を出し続ける様なものにしたいのですが、長時間バックグラウンドで動かす様なことは基本的にダメだという事なので、以下の様な流れを考えたのですがどうでしょうか?
- ローカルに測り始めたときの時間を保存する
- バックグラウンドから再開された時の処理に再度現在の時刻を取得する。
- その現在時刻 ー 開始時刻の差分を求めそこからまたカウントスタート&表示
以上な様な流れですが、確かバックグラウンドになったとかフォアグラウンドになったとか判定して処理をかけましたよね?それができれば以上の様な流れで実装できるのでは無いかと思ったのですがどうでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/02 12:56