【发布时间】:2015-11-24 12:03:18
【问题描述】:
如何快速在本地保存数组? 我的应用程序中有一个数组,每次它向用户显示 1 个随机字符串。字符串显示后,将从数组中删除。我的问题是,当用户存在应用程序并重新启动它时,我的数组会重新开始;我无法取回用户退出应用之前的数组。
【问题讨论】:
标签: arrays swift local-storage local
如何快速在本地保存数组? 我的应用程序中有一个数组,每次它向用户显示 1 个随机字符串。字符串显示后,将从数组中删除。我的问题是,当用户存在应用程序并重新启动它时,我的数组会重新开始;我无法取回用户退出应用之前的数组。
【问题讨论】:
标签: arrays swift local-storage local
let myStringArray:[String] = ["abc", "def", "ghi"]
let documentsDirectoryURL = NSFileManager().URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true, error: nil)!
let myFilePath = documentsDirectoryURL.path!.stringByAppendingPathComponent("myArray.plist")
保存到磁盘
if NSKeyedArchiver.archiveRootObject(myStringArray, toFile: myFilePath) {
println(true)
}
从磁盘加载
if let myLoadedStringArray = NSKeyedUnarchiver.unarchiveObjectWithFile(myFilePath) as? [String]{
println(myLoadedStringArray) // "[abc, def, ghi]"
}
或者如果你想使用 NSUserDefaults:
NSUserDefaults.standardUserDefaults().setObject(myStringArray, forKey: "myarray")
if let myLoadedArray = NSUserDefaults.standardUserDefaults().stringArrayForKey("myarray") {
println(myLoadedArray)
}
【讨论】: