本文介绍了Swift UserDefaults从数组获取值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有 UserDefaults 数组,例如:

let userValue = ["name": self.nameLbl.text ?? "", "lastName": self.lastNameLbl.text ?? "", "city": cityLbl.text ?? ""] as! [String : String]
var userArray = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]] ?? []
userArray.append(userValue)
UserDefaults.standard.set(userArray, forKey: "userInfo")

如何获取要打印类型的键值示例

How can I get key values example to print type

[[ name:.., lastName:..,],[ name:.., lastName:..,],[ name:.., lastName:..,] ...]

如果我这样打印:

if let array = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]] {
    for dictionary in array {
        print(dictionary["name"])
        print(dictionary["lastName"])
        print(dictionary["city"])
    }
}

在控制台中获取:

Lars
James
Ulrich
Hetfield
Gentofte
California

我想要这样: [[Lars,Ulrich,Gentofte],[James,Hetfield,California]]

推荐答案

您必须添加键值对在数组中,然后打印数组。您将得到预期的答案

You have to add key-value pair in the array and then print array. You will get your expected answer

let userValue = ["name": self.nameLbl.text ?? "", "lastName": self.lastNameLbl.text ?? "", "city": cityLbl.text ?? ""] as! [String : String]
        var userArray = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]] ?? []

        // Appending the different -2 userValue to userArray
        userArray.append(userValue)
        userArray.append(userValue)

        UserDefaults.standard.set(userArray, forKey: "userInfo")

        if let array = UserDefaults.standard.array(forKey: "userInfo") as? [[String: String]] {

       var dataValues = Array<Any>()
       array.forEach { (object) in
       dataValues.append(Array(object.values))
      }
    print(dataValues)

 }

在这里您可以查看演示:

let userValue = ["name": "j", "lastName":  "o", "city":  "g"] as! [String : String]

// Appending the different -2 userValue to userArray
var a = [userValue, userValue, userValue]

var b = Array<Any>()
a.forEach { (object) in
    b.append(Array(object.values))
}
print(b)

这篇关于Swift UserDefaults从数组获取值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-27 20:19
查看更多