Joe*_*Joe 4 date nsuserdefaults appdelegate swift
我正在尝试设置Date()
应用程序第一次打开的时间。这将在UserDefaults
.
我曾经register()
在 UserDefault 中保存日期。问题是.. 这个值似乎在每次启动时都会保存,这违背了 UserDefaults.register 的目的。
这是我的代码:
let initialOpen: NSDictionary = ["FirstOpen" : Date()]
UserDefaults.standard.register(defaults: initialOpen as! [String : AnyObject])
let firstOpenDate = UserDefaults.standard.value(forKey: "FirstOpen")
print("First Opened: \(firstOpenDate)")
Run Code Online (Sandbox Code Playgroud)
我在didFinishLaunchingWithOptions
.
如何在 UserDefaults 中记录第一次启动应用程序的时间?
register(defaults:)
。value(forKey:)
从UserDefaults
.您需要做的就是首先检查日期是否已设置,如果没有,请设置它。
if let firstOpen = UserDefaults.standard.object(forKey: "FirstOpen") as? Date {
print("The app was first opened on \(firstOpen)")
} else {
// This is the first launch
UserDefaults.standard.set(Date(), forKey: "FirstOpen")
}
Run Code Online (Sandbox Code Playgroud)