카테고리 없음

Swift) 딕셔너리

나태한개발 2024. 6. 13. 21:06

딕셔너리 생성

딕셔너리를 생성하는 방법은 여러 가지가 있다. 기본적으로는 대괄호 []를 사용하고, 키와 값을 콜론 :으로 구분하여 입력한다.

var emptyDict: [String: Int] = [:] // 빈 딕셔너리 생성
var personAge: [String: Int] = ["John": 30, "Jane": 25, "Jim": 35]

여기서 personAge 딕셔너리는 문자열을 키로, 정수를 값으로 가진다.

 

딕셔너리 접근 및 수정

딕셔너리의 값에 접근하거나 수정하려면 키를 사용하면 된다.

// 값 접근
let johnAge = personAge["John"] // 출력: 30

// 값 수정
personAge["John"] = 31

// 새로운 키-값 쌍 추가
personAge["Jake"] = 22

 

딕셔너리 값 삭제

딕셔너리에서 특정 키-값 쌍을 삭제하려면 removeValue(forKey:) 메서드를 사용한다.

personAge.removeValue(forKey: "Jane")

 

또한, 키를 nil로 설정하여 값을 삭제할 수도 있다.

personAge["Jim"] = nil

 

 

반복문을 통한 딕셔너리 순회

딕셔너리의 모든 키-값 쌍을 순회하려면 for-in 반복문을 사용한다.

for (name, age) in personAge {
    print("\(name)의 나이는 \(age)입니다.")
}

 

키와 값만 따로 가져오기

딕셔너리의 모든 키 또는 값을 배열로 가져올 수 있다.

let names = Array(personAge.keys) // ["John", "Jake"]
let ages = Array(personAge.values) // [31, 22]

 

딕셔너리 병합

두 개의 딕셔너리를 병합하려면 merge 메서드나 merging 메서드를 사용한다.

var otherAges: [String: Int] = ["Anna": 28, "Sam": 33]

// 기존 딕셔너리에 병합
personAge.merge(otherAges) { (current, _) in current }

// 새로운 딕셔너리를 생성하며 병합
let combinedAges = personAge.merging(otherAges) { (current, _) in current }