2017-09-30 60 views
-1

我正在使用Swift 4 for macOS,并且我的每个循环都有问题。字典键值有错误的结果

我的代码:

var dict = [String:Int]() 

for x in 0 ..< 5 { 
    if !dict.keys.contains("\(x)") { 
     print("NEW KEY: \(x)") 
     dict = ["\(x)" : x] 
    } 
} 

print(dict.keys.count) 

我的打印结果:

NEW KEY: 0 
NEW KEY: 1 
NEW KEY: 2 
NEW KEY: 3 
NEW KEY: 4 
1 

但为什么是keys.count = 1

+1

学会调试!休息一下'dict = [“\(x)”:x]'。在每次迭代中检查'dict'的值。 – Willeke

回答

1

您是for循环的每次迭代覆盖字典 y。

更换

dict = ["\(x)" : x] 

dict["\(x)"] = x 
+0

哦,当然,我的错误:/ thx很多:) – Ghost108

+0

@ Ghost108如果答案是正确的,然后接受它(点击左边的复选标记,使它是绿色的)。它帮助别人。 – Bishan

+0

我不得不等5分钟才能接受答案;) – Ghost108