[swift] Swift에서 사전에 요소를 추가하는 방법은 무엇입니까?

다음과 같이 정의 된 간단한 사전이 있습니다.

var dict : NSDictionary = [ 1 : "abc", 2 : "cde"]

이제이 사전에 요소를 추가하고 싶습니다. 3 : "efg"

3 : "efg"이 기존 사전에 어떻게 추가 할 수 있습니까?



답변

을 사용하고 NSDictionary있습니다. 어떤 이유로 든 명시 적으로 해당 유형이어야하는 경우가 아니라면 Swift 사전을 사용하는 것이 좋습니다.

당신이 기대하는 모든 기능에 신속한 사전을 통과 할 수 NSDictionary있기 때문에, 추가 작업없이 Dictionary<>NSDictionary원활하게 서로 다리. 기본 Swift 방식의 장점은 사전에서 일반 유형을 사용하므로이를 유형과 Int키로 정의하면 String다른 유형의 키와 값을 실수로 사용할 수 없습니다. (컴파일러가 사용자를 대신하여 유형을 확인합니다.)

코드에서 내가 본 내용을 기반으로 사전은 Int키와 String값으로 사용합니다. 인스턴스를 생성하고 나중에 항목을 추가하려면이 코드를 사용할 수 있습니다.

var dict = [1: "abc", 2: "cde"] // dict is of type Dictionary<Int, String>
dict[3] = "efg"

나중에 NSDictionary유형 의 변수에 할당 해야하는 경우 명시 적 캐스트를 수행하십시오.

let nsDict = dict as! NSDictionary

그리고 앞에서 언급했듯이 기대하는 함수 NSDictionary에 전달하려면 캐스트 또는 변환없이 그대로 전달하십시오.


답변

다음과 같은 방법으로 추가하고 다음으로 변경할 Dictionary수 있습니다NSMutableDictionary

dict["key"] = "value"


답변

나는 이것이 매우 늦게 올지 알고 있지만 누군가에게 유용 할 수 있습니다. 따라서 키 값 쌍을 사전에 사전에 추가하려면 다음과 같이 updateValue (value :, forKey 🙂 메소드를 사용할 수 있습니다.

var dict = [ 1 : "abc", 2 : "cde"]
dict.updateValue("efg", forKey: 3)
print(dict)


답변

스위프트 3-XCODE 8.1

var dictionary =  [Int:String]()

dictionary.updateValue(value: "Hola", forKey: 1)
dictionary.updateValue(value: "Hello", forKey: 2)
dictionary.updateValue(value: "Aloha", forKey: 3)

따라서 사전에는 다음이 포함됩니다.

사전 [1 : Hola, 2 : Hello, 3 : Aloha]


답변

당신의 사전 인 경우 IntString당신은 간단하게 할 수 있습니다 :

dict[3] = "efg"

사전 의 에 요소를 추가하려는 경우 가능한 해결책은 다음과 같습니다.

var dict = Dictionary<String, Array<Int>>()

dict["key"]! += [1]
dict["key"]!.append(1)
dict["key"]?.append(1)


답변

스위프트 3+

사전에 새 값을 할당하는 예입니다. 이를 NSMutableDictionary로 선언해야합니다.

var myDictionary: NSMutableDictionary = [:]
let newValue = 1
myDictionary["newKey"] = newValue
print(myDictionary)


답변

Swift에서 NSDictionary 를 사용하는 경우 다음을 사용할 수 있습니다 setValue.

dict.setValue("value", forKey: "key")