一天后如何重置变量?我使用了此代码,但是此代码从整个应用程序中删除了值,而不是从特定变量中删除了这些值。
在使用UserDefaults
和不使用UserDefaults
的情况下,如何在一天后重置特定变量?
extension UserDefaults {
static let defaults = UserDefaults.standard
static var lastAccessDate: Date? {
get {
return defaults.object(forKey: "lastAccessDate") as? Date
}
set {
guard let newValue = newValue else { return }
guard let lastAccessDate = lastAccessDate else {
defaults.set(newValue, forKey: "lastAccessDate")
return
}
if !Calendar.current.isDateInToday(lastAccessDate) {
print("remove Persistent Domain")
UserDefaults.reset()
}
defaults.set(newValue, forKey: "lastAccessDate")
}
}
static func reset() {
defaults.removePersistentDomain(forName: Bundle.main.bundleIdentifier ?? "")
}
}
最佳答案
您的重置功能将删除与您的应用相关联的所有UserDefaults。
要删除特定的密钥,请使用以下命令:
UserDefaults.standard.removeObject(forKey: "lastAccessDate")
关于ios - 如何在1天后 swift 重置特定变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49303434/