所以我已经尝试了几个小时来寻找一种将数组存储到 NSUserDefault 并将它们打印到单元格的方法,但是数据没有保存为数组,它基本上一次只保存一个值。
var emailData = [String]()
var passwordData = [String]()
@IBAction func addPressed(sender: AnyObject) {
let defaults = NSUserDefaults.standardUserDefaults()
emailData.append(addEmail.text!)
passwordData.append(addPassword.text!)
var storedEmail = defaults.objectForKey("emailData") as? [String] ?? [String]()
var storedPasswords = defaults.objectForKey("passwordData") as? [String] ?? [String]()
// then update whats in the `NSUserDefault`
defaults.setObject(emailData, forKey: "emailData")
defaults.setObject(passwordData, forKey: "passwordData")
// call this after you update
defaults.synchronize() /*
NSUserDefaults.standardUserDefaults().setValue(addEmail.text, forKey: "email")
NSUserDefaults.standardUserDefaults().synchronize()
*/
}
所以基本上数据没有保存。
最佳答案
你也可以通过这种方式存储数组
let userDefault = NSUserDefaults.standardUserDefaults()
let arr = ["abc","xyz","pqr"]
userDefault.setObject(arr, forKey: "arr")
userDefault.synchronize()
let data = userDefault.objectForKey("arr") as! [String]
关于ios - 如何在 Swift 的 NSUserDefault 中存储数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36976066/