2015-08-30 3 views
0

Как локально сохранить массив в swift? У меня есть массив в моем приложении, и каждый раз он отображает 1 случайную строку пользователю. Когда строка отображается, она удаляется из массива. Моя проблема заключается в том, что когда пользователь имеет приложение и перезапускает его, мой массив начинается снова; Я не могу вернуть массив, который был до выхода пользователя из приложения.Как локально сохранить массив в swift

ответ

1
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) 
} 
Смежные вопросы