我想将一些数据设置为NSUserdefaults,但我只想在开始时设置它。我有一种感觉,这将进入AppDelegate的某个地方。
例如,我想放一个" isLoggedIn" bool检查,但是我需要在运行时将它设置为false,以便它可以在运行时检查它。
答案 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)
}