잡초의 일지

[Swift] Collection : Dictionary 본문

[코딩] 배우는것/Swift

[Swift] Collection : Dictionary

JabCho 2020. 7. 9. 18:16
728x90
반응형
SMALL

Dictionary

Array와는 다르게 순서가 없고, key와 value가 있다.

순서가 없다!

 

Dictionary 선언

var studentScoreDic:[String: Int] = ["Alice": 100, "Emily": 95, "Rain": 90]
var studentScoreDic:Dictionary <String, Int> = ["Alice": 100, "Emily": 95, "Rain": 90]

둘 중 아무거나 써도 됌.

 

Dictionary  with Optional

if let score = studentScoreDic["Alice"]{
    score
}else{
    //..score 없음.
}

 

Dictionary 값 확인

studentScoreDic["Alice"]		//있음. 존재함.
studentScoreDic["Jay"]			//없음. 존재하지 않음.

 

isEmpty

//studentScoreDic = [:]		//비워준다.
studentScoreDic.isEmpty

 

count

studentScoreDic.count

 

기존 값 고치기

studentScoreDic["Emily"] = 50

 

값 추가하기

studentScoreDic["Rilly"] = 70

 

값 없애기

studentScoreDic["Alice"] = nil

 

반복적인 동작이기 때문에 for 문으로 나타낼 수도 있다.

for (name, score) in studentScoreDic{
    print("name: \(name), score: \(score)")
}

 

for문에서 keys 사용해서 뽑아내기

for key in studentScoreDic.keys {
    print(key)
}

 

Dictionary 응용

var myDic:[String: String] = ["name": "Alice", "job": "student", "city": "Korea" ]
myDic["city"] = "Seoul"
myDic

func printMyDic (dic:[String: String]){
    if let name = dic["name"], let city = dic["city"]{
        print(name, city)
    }else{
        print("--> cannot found")
    }
}

printMyDic(dic: myDic)

 

 

 

----------------------------------------------------------------------------------------------------------------------------

연습

import UIKit

/***** Dictionary 선언 *****/
// Dictionary는 key와 value로 이루어져 있다.
var foodPriceDic: [String: Int] = ["짜장면": 5000, "짬뽕": 6000, "탕수육": 10000]
var restaurantName:Dictionary<String, String> = ["한식": "원조 욕쟁이할머니 밥집", "중국": "띵오와 반점", "일식": "오이시이 횟집", "양식": "겨울 정원"]

/***** Dictionary 값 확인 *****/
foodPriceDic["짜장면"]      // 존재함
foodPriceDic["삼겹살"]     // 존재하지 않음
foodPriceDic.isEmpty        //false

/***** Dictionary  갯수 *****/
foodPriceDic.count      // 3
restaurantName.count        //4

/***** Dictionary 추가 *****/
foodPriceDic["깐풍기"] = 12000
foodPriceDic

/***** Dictionary 값 고치기 *****/
foodPriceDic["짬뽕"] = 5500
foodPriceDic

/***** Dictionary 제거 *****/
foodPriceDic["짜장면"] = nil
foodPriceDic
foodPriceDic = [:]      // 비워주기
foodPriceDic

/***** Dictionary for문으로 나타내기 *****/
// 1. keys 사용
for key in restaurantName.keys {
    print(key)
}
// 2. (key, value)쌍 사용
for (key, value) in restaurantName {
    print("key: \(key) , value: \(value)")
}
// 3. 옵셔널 사용 --> 값이 들어있지 않을 수 있기 때문에 옵셔널이다.
if let restaurant = restaurantName["한식"] {
    print(restaurant)
}

----------------------------------------------------------------------------------------------------------------------------

728x90
반응형
LIST

'[코딩] 배우는것 > Swift' 카테고리의 다른 글

[Swift] Closure 클로저  (0) 2020.07.09
[Swift] Collection : Set  (0) 2020.07.09
[Swift] Collection : Array  (0) 2020.07.09
[Swift] Optional 옵셔널  (0) 2020.07.08
[Swift] function 함수 만들기  (0) 2020.07.08
Comments