第一次打开应用程序时在 UserDefaults 中保存日期
Saving Date in UserDefaults of the first time the App was opened
我试图在第一次打开应用程序时设置 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中记录App首次启动的时间?
- 不需要
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")
}
我试图在第一次打开应用程序时设置 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中记录App首次启动的时间?
- 不需要
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")
}