티스토리 뷰
Swift에서 딕셔너리는 키와 값의 쌍으로 이루어진 컬렉션 타입입니다. 딕셔너리는 순서가 없으며, 키는 고유하고 해시 가능해야 합니다. 딕셔너리를 사용하면 키를 통해 값에 빠르게 접근할 수 있습니다.
딕셔너리를 생성하는 방법은 여러 가지가 있습니다. 가장 간단한 방법은 리터럴 문법을 사용하는 것입니다. 예를 들어, 다음과 같이 문자열을 키로 하고 정수를 값으로 하는 딕셔너리를 만들 수 있습니다.
var scores = ["Alice": 90, "Bob": 80, "Charlie": 85]
또는 딕셔너리 타입의 이니셜라이저를 사용하여 빈 딕셔너리를 생성하거나, 키와 값의 배열을 전달하여 딕셔너리를 생성할 수도 있습니다.
var emptyDict = [String: Int]()
var namesAndAges = Dictionary(uniqueKeysWithValues: [("Anna", 25), ("Brian", 28), ("Cathy", 32)])
딕셔너리에 새로운 요소를 추가하거나 수정하려면, 키를 대괄호 안에 넣고 값을 할당하면 됩니다. 만약 키가 이미 존재한다면, 값이 업데이트됩니다. 만약 키가 존재하지 않는다면, 새로운 요소가 추가됩니다.
scores["David"] = 75 // 새로운 요소 추가
scores["Alice"] = 95 // 기존 요소 수정
딕셔너리에서 요소를 삭제하려면, 키를 대괄호 안에 넣고 nil을 할당하면 됩니다. 또는 removeValue(forKey:) 메서드를 사용하여 삭제하고 삭제된 값을 반환받을 수도 있습니다.
scores["Bob"] = nil // 요소 삭제
let removedValue = scores.removeValue(forKey: "Charlie") // 요소 삭제 및 반환
딕셔너리에서 요소에 접근하려면, 키를 대괄호 안에 넣고 값을 가져오면 됩니다. 하지만, 키가 존재하지 않을 수도 있으므로, 반환값은 옵셔널 타입입니다. 옵셔널 바인딩이나 옵셔널 체이닝을 사용하여 안전하게 값을 언래핑할 수 있습니다.
let aliceScore = scores["Alice"] // 옵셔널 타입
if let bobScore = scores["Bob"] { // 옵셔널 바인딩
print(bobScore)
}
print(scores["Charlie"] ?? 0) // 옵셔널 체이닝
딕셔너리의 모든 키와 값에 접근하려면, keys와 values 프로퍼티를 사용하면 됩니다. 이 프로퍼티들은 각각 딕셔너리의 키와 값의 컬렉션을 반환합니다. 이 컬렉션들은 순서가 없으므로, 정렬된 순서로 접근하려면 sorted() 메서드를 사용해야 합니다.
let keys = scores.keys // 키의 컬렉션
let values = scores.values // 값의 컬렉션
for key in keys.sorted() { // 정렬된 키 순회
print(key)
}
for value in values.sorted() { // 정렬된 값 순회
print(value)
}
'프로그래밍 > iOS' 카테고리의 다른 글
iOS에서 Floating 버튼 만들기 (0) | 2024.09.23 |
---|---|
iOS Auto Layout을 코드로 작성하기 (0) | 2024.09.23 |
ios에서 UIScene, UIWindow, UIWindowScene의 차이 (0) | 2024.09.12 |
Swift if - guard 문법, 장단점 (0) | 2023.04.16 |
Swift 리터럴 알아보자 (0) | 2023.04.16 |
- Total
- Today
- Yesterday
- JavaScript
- JSX
- Backend
- 파이썬
- 투자
- 커널드라이버
- golang
- 스핀락
- 예제
- ChatGPT
- CSS
- 부동산
- SWiFT
- 주식
- WinAPI
- HTML
- Spring
- react
- go
- Frontend
- Windows
- Python
- reactjs
- Linux
- 생각
- 트렌드
- ios
- Java
- frida
- 유튜브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |