gpt4 book ai didi

ios - 如何保存用户快速按下按钮的日期?

转载 作者:行者123 更新时间:2023-11-30 12:16:43 25 4
gpt4 key购买 nike

我希望代码每天运行一次,但我想要实现此目的的方法是在单击按钮后禁用该按钮,然后在超过 24 小时后重新启用。

下面的代码仅保存用户按下按钮的日期是否正确?

if distance < radius{
Total_Points += 10
pointsLabel.text = "Total Points: \(Total_Points)"

getPointsOutlet.isEnabled = false

let clickdate = UserDefaults.standard

if var timeList = clickdate.object(forKey: "timeList") as? [Date]{
timeList.append(Date())
clickdate.set(timeList, forKey: "timeList")
} else {
clickdate.set([Date()], forKey: "timeList")
}
clickdate.synchronize()
}


let PointsDefault = UserDefaults.standard
PointsDefault.setValue(Total_Points, forKey: "Total Points")

最佳答案

你的代码

let clickdate = UserDefaults.standard

if var timeList = clickdate.object(forKey: "timeList") as? [Date]{
timeList.append(Date())
clickdate.set(timeList, forKey: "timeList")
} else {
clickdate.set([Date()], forKey: "timeList")
}
clickdate.synchronize()

适合将日期添加到已保存日期的数组中。您可以将其提取到一个单独的函数中:

func addDateToDefaults(date: Date? = nil) {
let defaults = UserDefaults.standard

if date = nil {
date = Date()
}

if var timeList = defaults.object(forKey: "timeList") as? [Date]{
timeList.append(date)
defaults.set(timeList, forKey: "timeList")
} else {
defaults.set([date!], forKey: "timeList")
}
}

然后您可以从按钮操作中调用它:

@IBAction func buttonClicked(_ sender: UIButton) {
addDateToDefaults()
//The rest of your button action code goes here
}

使用上面的函数 addDateToDefaults(),您可以传入特定日期,或者省略日期参数,它会将当前日期附加到您的日期数组中。

关于ios - 如何保存用户快速按下按钮的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45354271/

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