ios - 如何在 Swift 的 NSUserDefault 中存储数组?

标签 ios iphone swift nsuserdefaults

所以我已经尝试了几个小时来寻找一种将数组存储到 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/

相关文章:

ios - 覆盖本地化字符串的 NSManagedObject getter

iphone - 加载 UIView 到 navigationalStack 不传递字符串到新 View

ios - XIB 和 Storyboard 自动表达我的观点

iphone - 根据用户事件注销

swift - (Swift) 如何对从Firebase Storage 下载的数据进行排序?

ios - 在循环执行期间更改 UIImageView UIImage

swift - watchOS - 并发症显示以前的条目

ios - 作为 Y 的子类的类型 X 的向下转换集

ios - 以编程方式获取 iOS 上的低内存日志/报告

ios - 使用未执行的 firebase 创建新用户后继续 -Swift