반응형
프로그래밍을 할 때 Dictionary 자료 구조 유용하게 사용하고 있습니다.
C#에서는 Dictionary, 자바에서는 Map(HashMap, TreeMap 등) 등을 활용하고 있습니다.
Swift의 Dictionary에 대한 간단한 사용법입니다.
빈 Dictionary 생성
var dict1 = [Int : String]()
var dict2 : [Int : String] = [:]
var dict3 : Dictionary = [Int : String]()
var dict4 : Dictionary<Int, String> = [:]
var dict5 : Dictionary = Dictionary<Int, String>()
Dictionary 초기화
var dict1 = [1:"A", 2:"B", 3:"C"]
var dict2 : [Int : String] = [1:"A", 2:"B", 3:"C"]
var dict3 : Dictionary = [1:"A", 2:"B", 3:"C"]
var dict4 : Dictionary<Int, String> = [1:"A", 2:"B", 3:"C"]
var dict5 : Dictionary = [1:"A", 2:"B", 3:"C"]
Dictionary에 추가하기
var dict = [1:"A", 2:"B", 3:"C"]
// 존재하지 않는 Key에 값을 대입하면 추가된다.
dict[4] = "D"
Dictionary에서 삭제하기
var dict = [1:"A", 2:"B", 3:"C"]
// 존재하는 Key에 nil을 대입하면 삭제된다.
dict[1] = nil
// 전체 삭제
dict.removeAll()
Dictionary에서 값 변경하기
var dict = [1:"A", 2:"B", 3:"C"]
// 존재하는 Key에 nil을 대입하면 삭제된다.
dict[1] = dict[1]! + "BC"
Dictionary에 Key가 있는지 판별
var dict = [1:"A", 2:"B", 3:"C"]
if dict[1] != nil {
print("Key 있음")
}else{
print("Key 없음")
}
Dictionary 루프(for in) 예제
var dict = [1:"A", 2:"B", 3:"C"]
// key, value 튜플
for (key, value) in dict {
print("\(key) : \(value)")
}
// key 값
for key in dict.keys {
print("\(key) : \(dict[key]!)")
}
// value 값
for value in dict.values {
print(value)
}
Dictionary 정렬
sorted의 $0, $1은 각 Item이고
$0.0은 첫번째 Key, $1.0은 두번째 Key
$0.1은 첫번째 Value, $1.1은 두번째 Value
var dict = [1:"A", 2:"D", 3:"C"]
// Key 정렬
var dictSortedKeys_ASC = dict.sorted{$0.0 < $1.0} // ASC
var dictSortedKeys_DESC = dict.sorted{$0.0 > $1.0} // DESC
// Value 정렬
var dictSortedValues_ASC = dict.sorted{$0.1 < $1.1} // ASC
var dictSortedValues_DESC = dict.sorted{$0.1 > $1.1} // DESC
반응형
'iOS' 카테고리의 다른 글
[iOS 앱 개발] Swift 클로저(Closure), 후행 클로저 (0) | 2022.09.16 |
---|---|
[iOS 앱 개발] Swift 함수(func) (0) | 2022.09.06 |
[iOS 앱 개발] Swift Set (0) | 2022.09.02 |
[iOS 앱 개발] Swift 배열(Array) (0) | 2022.09.01 |
[iOS 앱 개발] Swift 문자열(String)의 특정 문자 사이의 문자 구하기(substring) (0) | 2022.08.31 |
댓글