我正在尝试添加一个计时器,当用户单击按钮时,它会启动 24 小时计时器并在接下来的 24 小时内禁用该按钮。之后再次启用。对于类似的事情,有一些答案,但对于在 SWIFT 中执行此操作并不是 100% 有用。
我遇到的主要问题是我希望这是针对每个用户的。因此,该用户的每次点击都是 24 小时。举例来说:如果我“喜欢”某件事,那么您希望能够在 24 小时内再次“喜欢”该特定事物,但仍然可以“喜欢”另一件事?
Thanks
*
适用于 Swift 3
*
我有一个每日视频广告,我的用户可以观看它以获得额外的现金。我用它来确保他们每天只能查看一次。
1.) 创建一个当用户触发它时将被调用的函数。
func set24HrTimer() {
let currentDate = NSDate()
let newDate = NSDate(timeInterval: 86400, since: currentDate as Date)
UserDefaults.standard.setValue(newDate, forKey: "waitingDate")
print("24 hours started")
//disable the button
}
2.) 在文件顶部创建一个变量。
let todaysDate = NSDate()
3.) 在viewDidLoad
or didMoveToView
call:
if let waitingDate:NSDate = UserDefaults.standard.value(forKey: "waitingDate") as? NSDate {
if (todaysDate.compare(waitingDate as Date) == ComparisonResult.orderedDescending) {
print("show button")
}
else {
print("hide button")
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)