1
私は特定の時刻に値を毎日コアデータに保存する保存機能を持っています。しかし、アプリが実行されていない、またはバックグラウンドにあるときは、もちろん値を保存しません。 この問題を解決する方法はありますか?アプリがバックグラウンドで実行されている間にデータを保存しますか? は、ここに機能だ:アプリがバックグラウンドであっても機能を実行する
func addValueDateToCore() {
// make sure data is not saved twice
if hasBeen == 0 {
hasBeen += 1
let newData: SavedAwayData = NSEntityDescription.insertNewObject(forEntityName: "SavedAwayData", into: DatabaseController.getContext()) as! SavedAwayData
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .none
newData.name = dateFormatter.string(from: Date())
newData.greenCustomer2 = veryHappyCustomer
newData.orangeCustomer2 = happyCustomer
newData.redCustomer2 = unHappyCustomer
DatabaseController.saveContext()
}
}
hasBeen変数がaddValueDateToCore()の後の秒のカップルは、誰のものにそれにコメントすることができます別の関数によって0に変異させます。
まだ誰もあなたを助けてくれていないことがわかります。 saveContext()が呼ばれていることを確認するためにブロック内にprintステートメントを追加しようとしましたか?あなたhasBeenを更新するコードを表示してください。 – Mozahler
私は書き留めたコードが動作していることを知っています。私の質問に書かれた問題を考えて、私はそれを解決する別の方法を見つけました。 –
あなたはそれを働いてうれしいです。 – Mozahler