如何从数组中生成swift中的字典

时间:2015-11-28 20:08:42

标签: ios swift function dictionary

public void maysara(View v){
    switch(v.getId()) {
       case R.id.button1:
        // to do
       break;
       case R.id.button2:
        // to do
       break;

目标是一个函数,它将Ints数组作为唯一参数并返回坐标字典。在这种情况下,目标是(0:65,1:62,2:63,......)

我的代码没有执行,并且给我一个错误“数组索引超出范围”

2 个答案:

答案 0 :(得分:3)

使用enumerate()

很容易实现
let tempsArray = [65,62,63,64,67,68,69,68,67,65,63,65,65]

var dict = [Int:Int]()
for (index, value) in tempsArray.enumerate() {
    dict[index] = value
}

print(dict)

结果:

  

[12:65,10:63,5:68,7:68,0:65,14:65,3:64,2:63,4:67,9:65,6:69,8: 67,1:62]

请记住,字典是无序集合。

我相信您可以轻松地根据自己的需要调整这个简单的示例。如果没有,告诉我你被困在哪里,我会帮忙。

答案 1 :(得分:0)

更简单的形式:

tempsArray.reduce([Int:Int]()) {
    (var d, v)->[Int:Int] in
    d[d.count] = v
    return d
}