다음과 같이 정의 된 간단한 사전이 있습니다.
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]
답변
당신의 사전 인 경우 Int
에 String
당신은 간단하게 할 수 있습니다 :
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")