如何正确设置和使用词典?

How can I correctly set and use a Dictionary?

我要设置这个结构:

0:[
    "name"="My Name",
    "description"="Some Description"
  ],
1:[
    "name"="Some Name"
    "description"="Some other Description"
  ]
]

这是我启动字典的方式:

var topStandbyUsers = [Int:[String:String]]()

这是我的设置方式(这里也有错误):

self.topStandbyUsers[0] = ["fullname"="My Name","description"="Some description"] // this gives me a error

我希望以后能够通过以下方式访问它:

self.topStandByUsers[0]["name"] // I want it to give "My Name"

没有太多使用词典的经验,想澄清我做错了什么以及如何正确使用词典。

问题出在您在以下代码中使用的赋值运算符:

self.topStandbyUsers[0] = ["fullname"="My Name","description"="Some description"]

将其更改为:

self.topStandbyUsers[0] = ["fullname":"My Name","description":"Some description"]

您可以使用以下方法检索值:

var data = self.topStandbyUsers[0]!
println(data["fullname"])

我看到你已经接受了一个答案,但我仍然像 Hot Licks 一样认为,你应该考虑使用字典数组,而不是字典字典。

基本上:

var topStandbyUsers = [[String:String]]()

除了它是一个数组外,你得到的是同样的东西。您可以使用相同的方式或使用追加添加字典。

self.topStandbyUsers[0] = ["fullname":"My Name","description":"Some description"]
self.topStandbyUsers.append(["fullname":"My Name","description":"Some description"])

那么您检索数据的工作方式就像

self.topStandByUsers[0]["name"]!