我是Swift的新手,一直在研究數組和字典的某些方面。在Swift中修改字典陣列
我有一個字典數組,我使用了類型別名 - 例如,
typealias myDicts = Dictionary<String, Double>
var myArray : [myDicts] = [
["id":0,
"lat」:55.555555,
"lng」:-55.555555,
"distance":0],
["id":1,
"lat": 44.444444,
"lng」:-44.444444,
"distance":0]
]
然後,我想遍歷數組中的字典並更改「距離」鍵值。我這樣做是這樣的:
for dict:myDicts in myArray {
dict["distance"] = 5
}
甚至專門確保5是與許多不同的方法,包括例如雙
for dict:myDicts in myArray {
let numberFive : Double = 5
dict["distance"] = numberFive
}
我所有的嘗試導致錯誤:
@lvalue $T5' is not identical to '(String, Double)
這似乎是充當如果字典裏是不可改變的「讓」,而不是「變種」。所以,筆者隨機嘗試這樣做:
for (var dict:myDicts) in myArray {
dict["distance"] = 5
}
這消除了錯誤,關鍵確實是分配5中的for循環,但這似乎並沒有實際修改陣列本身的長遠之計。我究竟做錯了什麼?
謝謝 - 使用自定義類似乎是一個好主意。但是我在項目中遇到了一些麻煩......你能舉個例子說明在我的問題中這個例子可以如何工作嗎? – Dana 2014-09-22 18:13:54
當然,但這很容易,很明顯;我不應該爲你寫代碼。 – matt 2014-09-22 19:23:03
對不起,我只是需要更多的澄清。這並不是說我需要專門爲我的代碼提供一個示例,但在完整的環境中看到整個行動真的有助於那些新手。我現在知道了! – Dana 2014-09-22 19:50:03