如何在Swift的NSUserDefault中存储Array? [英] How to store Array in NSUserDefault in Swift?

查看:221
本文介绍了如何在Swift的NSUserDefault中存储Array?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我已经尝试了几个小时来将一个数组存储到NSUserDefault并将它们打印到单元格但是数据没有保存为数组,它基本上一次只保存一个值。

So I've been trying for a few hours for a way to store an array to NSUserDefault and print them to the cells but the data is not saving as an array, it basically only saves one value at a time.

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()
     */


}

所以基本上数据没有保存。

So basically the data is not saving.

推荐答案

你也可以通过这种方式存储数组

You can store Array too, by this way

let userDefault = NSUserDefaults.standardUserDefaults()
let arr = ["abc","xyz","pqr"]
userDefault.setObject(arr, forKey: "arr")
userDefault.synchronize()

let data = userDefault.objectForKey("arr") as! [String]

这篇关于如何在Swift的NSUserDefault中存储Array?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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