2017-09-30 59 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