如何访问数组中字典中数组的第二个元素?

How to access the second element of an array in a dictionary within an array?

我想知道在以下情况下:

var array = ["1":["First whatever","Second whatever"],"2":["Third whatever", "Forth whatever"]]

a) 我如何访问 "Second whatever" 换句话说,我如何 return "Second whatever"

b) 如何访问“2”

如果这些甚至可能的话。

编辑1: 代码不正确。 这是正确的:

var arrays: [[String:[String]]] = [["1":["First whatever","Second whatever"]],["2":["Third whatever", "Forth whatever"]]]

为了得到 "Second whatever" 我尝试了这个:

arrays[0][1]

这种数据结构很难处理。我会考虑这是否是存储此数据的最佳方式。也许是表示您的数据的结构数组?

令人困惑的部分是您的变量名为数组,但它实际上被声明为 Dictionary 文字。因此,要访问 array 中带有键“1”的项目,如下所示:

let dictionaryEntry = array["1"]   

...这将 return 一个可选的字符串数组 "First Whatever"、"Second Whatever" - 因为不能保证它会在字典中找到“1”。

字典包含 ArrayString,因此要获取单个值,例如字符串数组中的第二个值,它将是:

let  dict = array["1"]?[1]  //returns "Second Whatever" as an optional

同样,这是您访问集合中的项目的方式,但我强烈建议您查看数据的存储方式。