我试图在第一次打开应用程序时设置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)")
我在didFinishLaunchingWithOptions
之内打电话。
如何在UserDefaults中记录首次启动该应用程序的时间?
答案 0 :(得分:2)
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")
}