깊은 노드가 배열 인 중첩 사전이 있습니다. 사전의 배열 요소에 요소를 추가하려고하면 컴파일 오류가 발생합니다. 내가 시도하고 대체하는 것입니다중첩 된 사전의 배열에 요소를 추가하는 방법
[ "000": "OK"] 키가 동일한 "000"또는 키가 서로 다른 경우, 기존의 요소를 추가하는 경우
[ "001": "좋은"]
같이
. 업데이 트를위한 지침이나 대체 방법을 이해하십시오. 내가 오류는 다음과 같습니다
유형의 불변 값에 돌연변이 멤버를 사용할 수 없습니다 '[[문자열 : 문자열]]'
B = [ "EA" : [ "status": [["000": "OK"]]]]
B["EA"]?["status"] = [["000": "NOT OK"]]
print(B)
(B["EA"]?["status"])?.append(["001":"Good"])
의 사용 가능한 복제 [값이 배열에 추가하는 방법 스위프트 사전] (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