更改User Default boolean Swift的默认值

Gre*_*ory 3 default nsuserdefaults swift

我有代码:

    let userDefaults = NSUserDefaults.standardUserDefaults()

    if let branchcheck = userDefaults.boolForKey("someBooleanValue") as Bool? {

        println("found boolean as \(branchcheck)")

    }
Run Code Online (Sandbox Code Playgroud)

这是盛大的,只有当没有添加到用户默认值时,这会自动返回'false'.

我希望默认情况下所有设置都为"true".

这是如何完成的?

vad*_*ian 16

根据NSUserDefaults/AccessingPreferenceValues, Apple建议注册所有默认值

let userDefaults = NSUserDefaults.standardUserDefaults()
let appDefaults = ["someBooleanValue" : true]
userDefaults.registerDefaults(appDefaults)
Run Code Online (Sandbox Code Playgroud)

此过程不会在首选项文件中写入任何内容,但这些值将定义为相应键的默认值

斯威夫特3

let userDefaults = UserDefaults.standard
let appDefaults: [String:Any] = ["someBooleanValue" : true, 
                                 "someStringValue" : "foo"]
userDefaults.register(defaults: appDefaults)
Run Code Online (Sandbox Code Playgroud)