且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在本地保存迅速数组

更新时间:2022-11-18 21:03:58

 让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)
}