iOS Swift(스위프트) : 딕셔너리

기타|2019. 5. 21. 21:08
반응형

iOS 앱 개발을 위해 Swift(스위프트) 공부한 것을 메모한 글입니다.

 

[ 키 : 데이터 ] 저장 형식

- 저장 데이터 타입에는 제한이 없음

- 키의 타입은 해시 연산이 가능한 타입이면 거의 제한이 없다(문자, 정수, 실수 등)

- 아이템 저장할땐 정렬한 후 저장하므로 순서가 있어서 for ~ in구문 가능함

 

선어과 초기화

- Dictionary <키의 타입, 값의 타입> ()   var a = Dictionary<String, String>()

- 간결형 [키 타입 : 값 타입]()   var a = [Stirng : String]()

- 타입 어노테이션을 이용한 선언      var b : Dictionary<String, String>        b = Dictionary()

- 타입 어노 간결형      var b : [Stirng : String]          b = [Stirng : String]() 또는 b = [:]

 

값 추가

- var aa = [String:String]()

aa["JP"] = "Tokyo"

 

딕셔너리에 값을 할당하는데 사용되는 메소드 : updatevalue(_:forKey:)

- 기존 키가 있으면 수정, 없으면 추가

- 기존 값을 수저 하면 이전 값이 결과값으로 반환됨

<딕셔너리 객체>.updateValue(<저장할 데이터>, forKey:<데이터를 참조 및 저장하는 데 사용할 키>)

  # aa.updateValue("Seoul", forKey: "JP")   "TOKYO"를 리턴함, 비었으면 nil

 

삭제 : removeValue(forKey:)

 

딕셔너리의 순회 탐색

for row in aa {

   let (key, value) = row

   print("현재 데이터는 \(key) : \(value)입니다")

}

위의 것을 간결하게

for (key, value) in aa {

   print("현재 데이터는 \(key) : \(value)입니다")

}   #더 많이 씀

#딕셔너리는 아이템을 내부에 저장할 때 튜플 타입으로 저장함

#출력 순서는 해시 처리 값을 기준으로 하므로 일정하지 않음

반응형