Дата сохранения в UserDefaults первого запуска приложения - PullRequest
0 голосов
/ 09 декабря 2018

Я пытаюсь установить 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?

1 Ответ

0 голосов
/ 09 декабря 2018
  1. Нет необходимости в register(defaults:).
  2. Не используйте 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")
}
...