gpt4 book ai didi

swift - 如何在 Swift 中每天只显示一次弹出窗口?

转载 作者:行者123 更新时间:2023-12-05 01:35:11 27 4
gpt4 key购买 nike

我想在我的应用程序中每天仅显示一次弹出窗口,如果用户已经看到该弹出窗口,则当天不再显示它。我挣扎了一会儿,决定在这里寻求帮助:)

更新

这是我到目前为止编写的代码:

func showPopupOncePerDay() -> Bool {
let lastPopup = UserDefaults.standard.double(forKey: "lastPopup")
let lastPopupDate = Date(timeIntervalSinceNow: lastPopup)
let lastPopupIsToday = NSCalendar.current.isDateInToday(lastPopupDate)
if !lastPopupIsToday {
navigator.showAlertPopup()
}
UserDefaults.standard.set(Date().timeIntervalSince1970, forKey: "lastPopup")
return true
}

最佳答案

这是一个简单的解决方案。只需存储您显示警报的最后一个 Date 并检查该 Date 是否在今天以显示或不显示警报。

let lastAlertDateKey = "lastAlertDate"

func checkIfAlertShownToday() {
if let lastAlertDate = UserDefaults.standard.object(forKey: lastAlertDateKey) as? Date {
if Calendar.current.isDateInToday(lastAlertDate) {
print("Alert was shown today!")
} else {
showAlert()
}
} else {
showAlert()
}
}

func showAlert() {
print("Need to show an alert today!")
UserDefaults.standard.set(Date(), forKey: lastAlertDateKey)
navigator.showAlertPopup()
}

关于swift - 如何在 Swift 中每天只显示一次弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63188447/

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