gpt4 book ai didi

ios - 如何使用 Swift 在 iOS 中每 24 小时添加一次变量?

转载 作者:行者123 更新时间:2023-11-28 14:49:42 25 4
gpt4 key购买 nike

我完全找不到教程或某种答案。

我正在尝试将一个数字(例如+1)添加到一个变量(在本地保存),每个所述时间量(24 小时)。即使用户没有打开/运行应用。

示例:一款名为“Cookie Clicker”的手机游戏具有类似的功能。它根据未玩游戏/离线所花费的时间向用户提供 cookie。

我的问题:无论用户是否打开应用程序,我如何每 24 小时向变量添加 +1。

我目前拥有的代码:

let daysOffDesfult = UserDefaults.standard
var daysOff = 0


//After 24 Hours: Call updateDaysOff() Function (This is the code I need.)


//Code Used to Save Variable Locally:
//Display the Updated Variable
if (daysOffDesfult.value(forKey: "daysOff") != nil){
daysOff = daysOffDesfult.value(forKey: "daysOff") as! NSInteger!
countLabel.text = "\(daysOff)"
}

//Update the Variable
func updateDaysOff() {
daysOff = daysOff + 1
countLabel.text = "\(daysOff)"

let daysOffDesfult = UserDefaults.standard

daysOffDesfult.setValue(daysOff, forKey: "daysOff")
daysOffDesfult.synchronize()
}

最佳答案

您可以在 viewDidLoad 中或在 UserDefaults 中的第一个 UIViewController 中保存首次打开应用程序的时间,如下所示:

if UserDefaults.standard.value(forKey: "firstDate") == nil {
UserDefaults.standard.set(Date(), forKey: "firstDate")
}

每次启动应用程序时,您都会将当前日期与保存在 UserDefaults 中的日期进行比较,以了解过去了多少天

let savedDate = UserDefaults.standard.value(forKey: "firstDate")
let currentDate = Date()
let diffInDays = Calendar.current.dateComponents([.day], from: savedDate, to: currentDate).day

关于ios - 如何使用 Swift 在 iOS 中每 24 小时添加一次变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49951917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com