Dictionary
// 정식 문법
let dic: Dictionary<String, String> = ["name": "Rarla", "gender": "female"]
// 단축 문법
lec dic: [String: String] = ["name": "Rarla", "gender": "female"]
- 데이터를 키와 값으로 하나의 쌍으로 만들어 관리하는 컬렉션, 순서는 중요하지 않음
- 키 값은 유일해야 한다. (Hashable 해야 함. 즉, 해시함수를 사용해 유일한 값으로 변환이 가능해야 함)
- 검색을 하려고 할 때, 배열은 순차적으로 검색해야 해서 시간이 많이 걸리지만 Hash로 변환되어 저장하게 되면 해당하는 값으로 바로 접근할 수 있어 검색 속도가 빠름
- 동일한 타입 쌍의 데이터만 담을 수 있음
- 딕셔너리의 값에 딕셔너리나 배열을 사용해 중첩으로 사용이 가능
- 딕셔너리 값만 따로 검색하는 방법은 제공하지 않음
- 자바스크립트의 Object 형태와 유사하나, Swift의 Dictionary는 중괄호({})가 아닌 대괄호([])로 묶는다는 점이 다름
빈 Dictionary 생성 방법
let emptyDic1: Dictionary<Int, String> = [:]
let emptyDic2 = Dictionary<Int, Stirng>()
let emptyDic3 = [Int, String]()
Dictionary 접근 방법
dic = ["name": "Rarla", "gender": "female"]
dic["name"] // Rarla
print(dic["name"]) // Optional("Rarla")
dic["name", default: "Empty"] // Rarla
- 에러를 방지하기 위해 Optional로 제공됨, 옵셔널 바인딩해서 사용해야 함
Dictionary 기본 기능
- dic.count
- dic.isEmpty
- dic.ramdomElement()
- dic.keys
- dic.values
- dic.updateValue("macbook", forKey: "have") : 삽입, 교체, 추가
- dic.removeValue(forKey: "have")
- dic.removeAll()
Dictionary 비교
- 순서가 다르더라도 키, 값이 같다면 같다는 결과를 얻을 수 있음
728x90
'FRONT-END > iOS' 카테고리의 다른 글
자바스크립트와 비교하며 Swift 공부하기 - 열거형편 (0) | 2023.07.11 |
---|---|
Javascript와 비교하며 Swift 공부하기 - Set편 (0) | 2023.07.08 |
자바스크립트와 비교하며 Swift 공부하기 - 컬렉션, Array편 (0) | 2023.07.08 |
자바스크립트와 비교하며 Swift 공부하기 - 옵셔널, 옵셔널 체이닝편 (0) | 2023.07.07 |
자바스크립트와 비교하며 Swift 공부하기 - 함수편 (0) | 2023.07.07 |
댓글