딕셔너리를 알아보자

2022. 6. 6. 21:14swift

딕셔너리란?

- 고유 키와 그에 대응하는 값을 연결하여 데이터를 저장하는 자료형이다.

인덱스 정수 대신 문자열 등의 고유 키를 사용한다는 차이를 제외하면 배열과 흡사한 자료형이라 할 수 있다.

키와 값 사이는 콜론(:)으로 구분해야한다.

*배열과 다르게 순서를 보장하지 않는다.

*하나의 키는 하나의 데이터에만 연결되어야 한다.

*하나의 딕셔너리에서 키는 중복될 수 없다. 

*저장할 수 있는 데이터 타입에는 제한이 없지만, 하나의 딕셔너리에 저장하는 데이터 타입은

모두 일치 해야한다.

 

딕셔너리에 값 넣는법

- [ 키 : 데이터, 키 : 데이터] 

var response = [201: "phj", 301: "shs", 401: "phh", 501: "jercy"]

위와 같은 딕셔너리는

 

var response[Int : String] 이 타입이라는걸 알수있다.

key가 Int, Value가 String 이다.

 

var good: [String: String] = [:]

위와 같은 코드는 "빈 딕셔너리"를 만든 경우이다. 

 

딕셔너리에서 값 가져오는 법

var response = [201: "phj", 301: "shs", 401: "phh", 501: "jercy"]

for (key, Value) in response {

    print(key)

}  결과는 -501\201\401\301 나타난다 (배열과 다르게 순서를 보장하지는않는다)

반대로 print(key) 대신 print(Value)를 했을때는 String값이 나온다.

 

 

키값과 타입값 전부 나타내기 위해서는 print(response)를 치면 [키(Int): 타입(String)]값이 전부 나타난다.

 

기존에 있던 딕셔너리에 값 추가하는 방법

var response = [201: "phj", 301: "shs", 401: "phh", 501: "jercy"]

response [101] = "dong" //변수 [키Int : 타입Strin] 에 맞게 추가하여 프린트한다

print(response)

 

//[501: "jercy", 401: "phh", 101: "dong", 201: "phj", 301: "shs"] 출력 됩니다.

 

기존 딕셔너리에 값제거

var response = [201: "phj", 301: "shs", 401: "phh", 501: "jercy"]

response.removeValue(forKey: 301)

print(response)

//[201: "phj", 501: "jercy", 401: "phh"] 출력된다.

 

 

'swift' 카테고리의 다른 글

테이블 뷰에 관하여  (0) 2022.06.13
함수의 매개변수를 알아보자  (0) 2022.06.06
함수  (0) 2022.06.02
변수에 대해서  (0) 2022.06.02
옵셔널에 관하여  (0) 2022.06.02