티스토리 뷰

반응형

 

 


Dictionary
딕셔너리

키-값 의 쌍 요소로 구성된 컬렉션

 

 


Declaration
선언방법

@frozen struct Dictionary<Key, Value> where Key : Hashable

 

딕셔너리(Dictionary)는 해시 테이블 타입으로 포함하고 있는 항목에 대한 빠른 접근을 제공합니다. 테이블 내 각각의 항목은 각각의 키를 사용하여 식별이 되어집니다. 이때 키(Key)값은 Hashable 프로토콜을 준수해야하여 그 예시로는 string, number 등이 있습니다. 당신은 키를 사용하여 해당 카에 순응하는 값을 추출할 수 있습니다. 이때 값(Value)은 키와 달리 Any타입으로서 어떠한 타입도 들어갈 수 있습니다. swift의 Dictionary와 유사한 타입을 다른 언어에서는 Hashes, associated arrays 라고도 합니다.

 

 

let dic =  [String: Int]()

딕셔너리 리터럴, "[:]" 를 사용해서 딕셔너리를 생성할 수 있습니다.
 딕셔너리를 ':' 를 구분지어 양 옆에 키, 값으로 이루어집니다. 또한 [] 괄호로 감싸서 표현합니다. 이렇게 만들어진 dictionary 리터럴은 변수, 상수, 인자값 등으로서 전달할 수 있습니다.

 

 

아래의 코드는 HTTP 응답 코드 및 그에 상응하는 메세지들에 대한 정보를 가진 딕셔너리를 생성하는 방법입니다.

var responseMessages = [200: "OK",
                       403: "Accesss forbidden",
                       404: "File not found",
                       500: "Internal server error"]

해당 딕셔너리, responseMessages variable은 [Int: String] 타입으로서 만들어졌습니다. 이 경우, Key타입은 Int, Value타입은 String이 됩니다.

 

 

딕셔너리를 어떠한 키-값 페어도 갖지 않은 채로 생성하려면, "[:]" 를 할당하면 됩니다.

// String Key, String Value 타입으로 어떠한 키-값 쌍도 갖고 있지 않는 딕셔너리, emptyDict
var emptyDict: [String: String] = [:]

 

Swift의 기본 타입들을 포함해서 Hashable 프로토콜을 준수하는 타입이라면 딕셔너리의 Key 타입으로서 사용될 수 있습니다.
 기본적으로 Hashable 프로토콜을 준수하지 못하는 타입일 경우, 직접 사용자 정의로 Hashable 프로토콜을 준수하도록 설정한다면, 딕셔너리의 Key값으로 활용될 수 있습니다.

 

 


Dictionary 원본 개발자 문서 링크 ▼
Dictionary Overview

 

 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함