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")!
}
我正在将我的应用程序更新到 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")!
}