如何在本地保存迅速数组 [英] How to locally save an array in swift

查看:179
本文介绍了如何在本地保存迅速数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在本地保存在迅速数组?
我有一个数组在我的应用程序,每次它显示1随机字符串给用户。当已经显示的字符串,它是从阵列中删除。我的问题是,当过用户存在的应用程序并重新启动它,我的阵列重新开始;我不能回去,这是用户退出应用程序前的数组。


解决方案

 让myStringArray:[字符串] = [ABC,高清,GHI]让documentsDirectoryURL =的NSFileManager()URLForDirectory(.DocumentDirectory,inDomain:.UserDomainMask,appropriateForURL:无,创建:真实,错误:无)。!
让myFilePath = documentsDirectoryURL.path!.stringByAppendingPathComponent(myArray.plist)

保存到磁盘

 如果NSKeyedArchiver.archiveRootObject(myStringArray,TOFILE:myFilePath){
    的println(真)
}

从磁盘加载

 如果让myLoadedStringArray = NSKeyedUnarchiver.unarchiveObjectWithFile(myFilePath)作为? [串]{
    的println(myLoadedStringArray)//[ABC,DEF,GHI]
}

或者如果你想使用NSUserDefaults的:

  NSUserDefaults.standardUserDefaults()的setObject(myStringArray,forKey:myarray中)。如果让myLoadedArray = NSUserDefaults.standardUserDefaults()。stringArrayForKey(myArray的){
    的println(myLoadedArray)
}

How do I locally save an array in swift? I have an array in my app and everytime it displays 1 random string to the user. When the string has been displayed, it is deleted from the array. My problem is, when ever the user exists the app and relaunch it, my array starts over again; I can't get back the array that was before the user exited the app.

解决方案

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")

Saving to disk

if NSKeyedArchiver.archiveRootObject(myStringArray, toFile: myFilePath) {
    println(true)
}

loading from disk

if let myLoadedStringArray = NSKeyedUnarchiver.unarchiveObjectWithFile(myFilePath) as? [String]{
    println(myLoadedStringArray) // "[abc, def, ghi]"
}

or If you would like to use NSUserDefaults:

NSUserDefaults.standardUserDefaults().setObject(myStringArray, forKey: "myarray")

if let myLoadedArray = NSUserDefaults.standardUserDefaults().stringArrayForKey("myarray") {
    println(myLoadedArray)
}

这篇关于如何在本地保存迅速数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆