我想知道是否有办法为NSUserDefaults设置起始值 我希望在UserDefault的开头有一个值,而不是将其更改为后者,除非重新安装该应用程序,否则永远不会将其重置为初始值。
我在网上搜索但没找到任何东西。
答案 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... }