我有一個嵌套字典,其中深層節點是一個數組。當我嘗試追加一個元素到字典的數組元素時,我得到一個編譯錯誤。我試圖要取代如何將元素追加到嵌套字典中的數組中
[「000」:「OK」]
如果密鑰是相同的「000」或附加到現有的元素,如果關鍵是不同的,例如如在
[ 「001」: 「好」]
。欣賞一些指導或更新方法。我得到的錯誤是:
無法在類型的不可變的值使用可變成員「[[字符串: 字符串]」
B = [ "EA" : [ "status": [["000": "OK"]]]]
B["EA"]?["status"] = [["000": "NOT OK"]]
print(B)
(B["EA"]?["status"])?.append(["001":"Good"])
的可能的複製[如何追加到一個數組,它是一個值在Swift詞典中](http://stackoverflow.com/questions/28376067/how-to-append-to-an-array-that-is-a-value-in-a-swift-dictionary) – matt
只需刪除括號 - 'b [「EA」]?[「status」]?。append([「001」:「Good」])'。雖然請注意這不是特別有效,因爲我相信數組和內部字典都將被複制。有關避免這種情況的方法,請參閱http://stackoverflow.com/q/41079687/2976878。 – Hamish
但實際上,使用帶字典數組值的字典詞典幾乎肯定表明您應該使用其他數據結構。如果你的字典有靜態鍵,它們應該是結構。 – Hamish