NSUserDefaults是swift中这个应用创意的正确选择

时间:2014-08-25 03:57:58

标签: ios xcode swift nsuserdefaults

我有一个超级简单的应用程序想法,我正在构建以获得更多使用Swift的实践。我只是想问一下,使用NSUserDefaults是否是最合适的选择。我将拥有的是名单列表,其中包含与我将不时更新的每个名称相关的编号(编号)。我打算使用NSDictionary来获取数据。

我认为核心数据已经过度杀戮了。

我只是想就如何保存这个简单应用程序的数据提出第二意见。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用NSUserDefault。但是如果想要存储数组或字典,你必须做一些额外的工作。 The documentation says

  

value参数只能是属性列表对象:NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。对于NSArray和NSDictionary对象,它们的内容必须是属性列表对象。

您可以将NSDictionary转换为NSData,然后将其保存到NSUserDefault

// Convert the dictionary and store
var data = NSKeyedArchiver.archivedDataWithRootObject(yourDict)
NSUserDefaults.standardUserDefaults().setObject(data, forKey: yourKey)

// Retrieving the dictionary
var savedData = NSUserDefaults.standardUserDefaults().dataForKey(yourKey)
var dict = NSKeyedUnarchiver.unarchiveObjectWithData(savedData)

希望这会有所帮助.. :)

答案 1 :(得分:0)

如果它只是一个NSDictionary应该没问题。 NSUserDefaults适用于那样的小事。

NSUserDefaults.standardUserDefaults().setObject(**YOUR DICTIONARY**, forKey: **YOUR KEY**)
相关问题