如何使用registerDefaults()

时间:2015-08-14 12:49:39

标签: swift nsuserdefaults

我到处寻找,无法找到如何使用registerDefaults()的解释。每个询问如何设置默认值的帖子都通过“use registerDefaults()”来回答,我遇到的一个小问题是我不知道如何使用registerDefaults()。有人能告诉我到底要编写什么代码以及放置它的位置。我的问题:我有5个值(Int)需要具有特定的默认值,但稍后可以由用户更改。我查了Xcode文档,youtube和谷歌,找不到答案。

2 个答案:

答案 0 :(得分:8)

只需传递键值对词典:

NSUserDefaults.standardUserDefaults().registerDefaults([
    "SomeKey" : 123,
    "SomeArrayKey" : [1, 2, 3, 4, 5]
])

答案 1 :(得分:5)

@Kirsteins已经发布了代码,但这是想法。

RegisterDefaults为NSUserDefaults中的一个或多个键创建起始值,"默认默认值为",如果愿意的话。

您希望在调用程序的过程中尽早调用registerDefaults,以便在尝试从默认值中读取任何值之前确定将注册默认值。

我通常将它们放在我的app委托的initialize(class)方法中,因为在应用委托甚至实例化之前调用initialize方法。

只需创建您想要作为默认值的键/值对的字典,然后调用NSUserDefaults.standardUserDefaults().registerDefaults

总而言之,您的代码(在您的app委托类中)可能如下所示:

class func initialize()
{
  let initialDefaults: NSDictionary = 
    ["firstKey": true,
     "answerToLifeKey": 42,
     "airspeedVelocityKey": "European or African"
    ]
  NSUserDefaults.standardUserDefaults().registerDefaults(initialDefaults)
}