初始值Swift UserDefault

时间:2015-11-22 09:45:07

标签: ios swift nsuserdefaults

我想知道是否有办法为NSUserDefaults设置起始值 我希望在UserDefault的开头有一个值,而不是将其更改为后者,除非重新安装该应用程序,否则永远不会将其重置为初始值。

我在网上搜索但没找到任何东西。

1 个答案:

答案 0 :(得分:1)

有一种方法。它在文档中描述

  

在发布时,应用应注册任何默认值   它希望存在和有效的偏好。当你要求   从未设置的首选项的值,方法   NSUserDefaults类返回适合的默认值   数据类型。对于数值标量值,这通常意味着   返回0,但对于字符串和其他对象,它意味着返回nil。   如果这些标准默认值不适合您的应用,那么您   可以使用registerDefaults:注册您自己的默认值   方法。此方法将您的自定义默认值放在   NSRegistrationDomain域,导致它们在返回时返回   偏好未明确设定。

     

调用registerDefaults:方法时,必须提供   您需要注册的所有默认值的字典。清单2-1   显示了iOS应用程序提前注册其默认值的示例   在发射周期中。您可以随时注册默认值   当然,但应该在尝试检索之前注册它们   任何偏好值。

// Listing 2-1
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {   
    // Register the preference defaults early.
    let appDefaults = ["CacheDataAgressively" : true]
    NSUserDefaults.standardUserDefaults().registerDefaults(appDefaults)
    // Other initialization... 
} 

来源:Accessing Preference Values