Swift 2 NSUserDefaults 读取数组

Swift 2 NSUserDefaults read Arrays

我正在将我的应用程序更新到 Swift 2.. 很多错误......无论如何我正在尝试读取 NSuserDefaults 中的存储数组,在 swift 1 中工作但现在我使用 EXC_Breakdown 得到零错误。我不知道如何解决...

我是这样读的:

 var DescriptionArray = save.objectForKey("NewsDescriptions")! as! NSArray

我是这样保存的(说明是数组):

 var SaveDescription = save.setObject(Description, forKey: "NewsDescriptions")        
  save.synchronize()

这是一个示例,说明如何将数据存储到 Swift 2.0 中的 NSUserDefault。它与 Objective-C 概念非常相似,只是语法不同。

初始化你的NSUserDefault变量:

let userDefaults = NSUserDefaults.standardUserDefaults()

初始化要保存的数据类型:在您的情况下,您使用了 objectForKey,尽管这应该有效,但最好更具体地说明您的代码。

var DescriptionArray = userDefaults.arrayForKey("NewsDescriptions") 

保存您的数据:

userDefaults.setObject(Description, forKey: "NewsDescriptions")

然后您可以synchronize更快地处理保存。

userDefaults.synchronize()

这里是 Swift 2 的例子:

    func saveArray(value: NSArray) {
        NSUserDefaults.standardUserDefaults().setObject(value, forKey:"NewsDescriptions")
        NSUserDefaults.standardUserDefaults().synchronize()
    }

    func readArray() -> NSArray {
        return NSUserDefaults.standardUserDefaults().arrayForKey("NewsDescriptions")!
    }