如何在整个应用程序的生命中只运行一次数据?

时间:2017-02-05 13:28:39

标签: ios swift nsuserdefaults

我想将一些数据设置为NSUserdefaults,但我只想在开始时设置它。我有一种感觉,这将进入AppDelegate的某个地方。

例如,我想放一个" isLoggedIn" bool检查,但是我需要在运行时将它设置为false,以便它可以在运行时检查它。

1 个答案:

答案 0 :(得分:3)

NSUserDefaults(或Swift 3中的UserDefaults)有一个函数register(defaults:),可让您提供包含"默认默认值"的字典。或者启动默认值。那就是你需要的。我通常在App委托的初始化方法中调用register(defaults:),因此在应用程序启动之前很早就会调用它,然后才能调用任何实例方法。应用程序委托中的initialize方法在Swift中可能如下所示:

func initialize() {
  let dict: [String: Any] = [
    "Key1": "value1",
    "Key2": 3,
    "isLoggedIn": false]
  UserDefaults.standard.register(defaults: dict)
}