このような番号を永続化するためのいくつかのオプションがあります。最も簡単で絶対的な方法は、おそらくUserDefaults
を使用して番号を格納/取得することです。それは正確にUserDefaults
の意図された使用ではありませんが、あなたがちょうど1つのTimeInterval
を格納しているなら、それはあなたに問題を引き起こさないでしょう。
裸の骨の実装は次のようになります。
let interval: TimeInterval = 20 //replace with the time from your countdown timer
UserDefaults.standard.set(interval, forKey: "totalTimeElapsed")
そして、あなたは既存の経過時間に新しい時間を追加する必要があるため、あなたはこのようなものだろう:その他
let newTimeElapsed: TimeInterval = 20 //replace with time from countdown timer
let totalSoFar = UserDefaults.standard.double(forKey: "totalTimeElapsed") //will be 0 if it doesn't exist
UserDefaults.standard.set(newTimeElapsed + totalSoFar, forKey: "totalTimeElapsed")
をあなたがこれを行うことができる標準的な方法はNSKeyedArchiver
またはCore Data
ですが、Core Data
は1の数字を維持するための大きな過労です。
これをアプリの起動の間中も継続したいですか? – brandonscript
あなたは、ユーザーの背景/アプリを殺す/デバイスの電源を切るときにあなたの "論理的な時間"が経過するかどうかを考慮する必要があります。タイマーに注意してください*彼らは*経過時間を保証していません。また、ユーザーはデバイスの時刻設定を変更することもできます。 –
こんにちはbrandonscript、はい、私はこれがアプリの起動の間に持続したいと思います。 – Trlewi