首页 文章

如何在swift中创建和添加值到Dictionary

提问于
浏览
9

我想在swift中使用不同类型的数据(数组,字符串,字典)创建一个Dictionary我能够将新数据插入到一个键中,但是在这里添加更多的值很困难就是字典的json

{
  "GenInfo": {
    "First Name":"Varun",
    "Last Name":"Naharia",
    "Phone No":"123456789"
  },
  "LangInfo": ["Hindi","English","Urdu","French"],
  "EduInfo": 
    [
      {
        "Collage":"CIITM",
        "Year":"2009",
        "Degree":"BCA"
      },
      {
        "Collage":"Dept. Of Comp. Sci. & Infor. University Of Kota",
        "Year":"2013",
        "Degree":"MCA"
      }
    ]
}

我想将这些值逐个添加到字典中,如第一个GenInfo,然后是LangInfo的第一语言,然后是EduInfo

LangInfo
朗信息

EduInfo
EduInfo

我使用 dict["GenInfo"] = ["FirstName":first,"LastName":last,"Phone":phone] 在dic中添加GenInfo,其中first和last是带值的变量 .

EDIT #1 var dict = Dictionary<String, Any>()

1 回答

  • 9

    这是一个已知问题,显然尚未修复(参见Is it possible to have a dictionary with a mutable array as the value in Swift

    解决方法是使用您的数组创建一个新变量,然后将其分配回来:

    var dict = [String: AnyObject]()
        dict["GenInfo"] = ["FirstName":"first","LastName":"last","Phone":"phone"]
        dict["Language"] = ["langage1", "langage2"]
    
        if var languages = dict["Language"] as? [String] {
            languages.append("langage3")
            dict["Language"] = languages
        }
    

相关问题