我想设置这个结构:
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"
没有太多使用词典的经验,想要澄清我做错了什么,以及如何正确使用词典。
答案 0 :(得分:2)
问题在于您在以下代码中使用的赋值运算符:
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"])
答案 1 :(得分:1)
我看到你已经接受了答案,但我仍然认为喜欢Hot Licks,你应该看一下使用一系列的词汇,而不是字典词典。
基本上:
var topStandbyUsers = [[String:String]]()
除了它是一个数组之外,它会让你同样的东西。您可以使用相同的方式添加dicts或使用追加。
self.topStandbyUsers[0] = ["fullname":"My Name","description":"Some description"]
self.topStandbyUsers.append(["fullname":"My Name","description":"Some description"])
然后您检索数据就像
一样self.topStandByUsers[0]["name"]!