2
我通過一本字典試圖循環:爲什麼dict.enumerated()中的「for(index,(a,b))」會產生錯誤?
let someDict = [...]
for (index, (a, b)) in someDict.enumerated() {
}
它顯示了我的錯誤:
cannot express tuple conversion '(offset: Int, element: (key: String, value: String))' to '(Int, (String, String))'
這是很奇怪的。因爲如果我們比較所需的元組:在與元組類型
(offset: Int, element: (key: String, value: String))
for循環:
(Int, (String, String))
他們是兼容!
這是怎麼發生的?
請注意,我知道字典沒有特定的順序,因此知道KVP的索引不是很有用。但我仍然想知道爲什麼這不起作用。
我不能告訴*爲什麼*,但'爲(index,(key:a,value:b))在someDict.enumerated()中有效。 –
這可能與[SR-922](https://bugs.swift.org/browse/SR-922)有關,其中類型檢查程序有時無法匹配相同類型的元組,但標籤不同。 – Hamish
@Hamish但是如果我使用'[Double:String]'這樣的字典,它仍然無法編譯! – Sweeper