Collection - Dicitionary

suhwj·2022년 3월 30일
0

swift 문법

목록 보기
13/15
post-thumbnail

Dicitionary

Dictionary는 key와 value로 데이터를 저장하는 컨테이너입니다.
각각의 value는 유일한 키 값에 물려있으며, key값은 Dictionary안에서 value를 찾기 위하 식별자역할을 합니다.

Swift에서 Dictionary는 Dictionary<KeyType, ValueType>형태로 쓰입니다.
유일한 제약사항이 하나 있는데, 반드시 KeyType은 해쉬가능한 타입어야합니다.(Hashable)
즉, 그 자체로 유일하게 표현이 가능한 방법을 제공해야 합니다.
스위프트의 기본 타입(String, Int, Double..등)은 기본적으로 해쉬가능한 것들이므로 Dictionary의 KeyType으로 사용가능합니다 .
또한, Swift의 열거형, 즉 enum역시 해쉬가능하므로 들어갈 수 있습니다.

Dictionary사용 방법

  1. Dictionary생성하는 방법
    KeyType이 Int고, ValueType이 String인 Dictionary를 생성하는 방법입니다.
var dic : [Int : String] = [:]
var dic2 = [Int : String]()
var dic3 : Dictionary = [Int:String]()
var dic4 : Dictionary<Int, String> = Dictionary<Int, String>()
  1. Dictionary 생성과 동시에 초기화
var dic : [Int : String] = [1:"Roy", 2:"swift", 3:"iOS"]
var dic2 = [1:"Roy", 2:"swift", 3:"iOS"]//타입유추. [Int:String]인 Dictionary구나
var dic3 : Dictionary = [1:"Roy", 2:"swift", 3:"iOS"]
var dic4 : Dictionary<Int, String> = [1:"Roy", 2:"swift", 3:"iOS"]
//모두 [1:"Roy", 2:"swift", 3:"iOS"]를 넣었지만, 출력이 이순서대로 된다고 보장할 수 없다. Dictionary는 순서가 없기때문
  1. Dictionary값 수정

    (이제 메소드를 사용하고 나서의 Dictionary안의 값들이 어떻게 변했는지 보여드릴텐데요, 임의로 Key순서대로 나타내도록 하겠습니다.
    다시한번 말씀드리지만, Dictionary안의 순서는 의미가 없습니다. 실제로 Print해보시면 순서가 뒤죽박죽인 것을 볼 수 있을거에요.)

var dic : [Int : String] = [1:"zedd", 2:"swift", 3:"iOS"]
dic.updateValue("fun", forKey: 3)
print(dic)//[1:"Roy", 2:"swift", 3:"fun"]
dic[3] = "iOS"
print(dic)//[1:"Roy", 2:"swift", 3:"iOS"]
profile
iOS 개발자 공부하는 Roy

0개의 댓글