ํฐ์คํ ๋ฆฌ ๋ทฐ
Dictionary
์๋ ํ์ธ์?
์ค๋์ ์ปฌ๋ ์ ํ์ ์์ dictionary์ ๋ํด ์์๋ณด๋๋ก ํ ๊ฑฐ์์!
๋์ ๋๋ฆฌ๋ ์ฌ์ ์์ ๋จ์ด๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ๊ณผ ๊ฐ์ด ์๋ณ์๋ฅผ ๊ธฐ์ค ๊ฐ์ผ๋ก ์ฐพ์๋ ๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ฐ์.
๋ฐ๋ก ๊ณต์๋ฌธ์๋ก ํ์ธํด ๋ณด์์ฃ !

ํค-๊ฐ์ ์์ผ๋ก ๊ฐ์ง๋ ์ปฌ๋ ์ ์ด๋ค.. ๋ผ๋ค์
๊ทธ๋ฆฌ๊ณ key๋ hashable์ด๋ค. ๊ณ ์ ํด์ผ ํ๋๋ด์
์ด? ์ ๋ฒ์ ์งํฉ์ ๋ํด์ ๊ณต๋ถํ ๋ ๊ฐ์ด ๊ณ ์ ํ๊ณ ์์๊ฐ ์์์์์?
์๋ ๊ทธ๋ด๊น์?
๋ง์ต๋๋ค. ๋์ ๋๋ฆฌ๋ ์์๊ฐ ์์ด์!
๊ทธ๋ผ ๋์ ๋๋ฆฌ๋ฅผ ํ๋ฒ ์ ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
var emptyDic1: [Int: String] = [:]
var emptyDic2 = [Int: String]()
var emptyDic3: Dictionary = [Int: String]()
var emptyDic4: Dictionary<Int, String> = Dictionary<Int, String>()
๋น ๋์ ๋๋ฆฌ๋ฅผ ์์ฑํด ๋ดค๋๋ฐ์!
ํค๋ Intํ์ , ๊ฐ์ String ํ์ ์ผ๋ก ๋ฐ์ ์ ์๋๋ก ์์ฑํด ๋ดค์ต๋๋ค.
์ด๋ฒ์๋ ๊ฐ์ด ์๋ ๋์ ๋๋ฆฌ๋ฅผ ์ ์ธํด ๋ณผ๊ฑด๋ฐ์!!
์ ์ธํ๊ณ ๋์ ๋๋ฆฌ์ ์ ๊ทผํด ๋ณผ๊ฒ์!
var classDic1: [Int: String] = [1:"์ฒ ์", 2:"์์", 3:"๋ฏธ์ "]
var classDic2: [Int: String] = [1:"์ฒ ์", 1:"์ฒ ์", 3:"๋ฏธ์ "]
// ๊ณ ์ ํ์ง ์์์ ์๋ฌ
classDic1[1]
// ์ฒ ์
classDic1["์ฒ ์"]
// ์๋ฌ : ํค๋ก๋ง ์ ๊ทผ ๊ฐ๋ฅ
์ ๊ทผํด๋ณธ ๊ฒฐ๊ณผ ํค๊ฐ์ผ๋ก๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๋ค์!
์ด๋ฒ์๋ ๋์ ๋๋ฆฌ์ ๊ฐ์ ๋ฐ๊พธ์ด ๋ณผ๊ฒ์!
var classDic1: [Int: String] = [1:"์ฒ ์", 2:"์์", 3:"๋ฏธ์ "]
classDic1[1] = "์ฒ ์ํ๋"
classDic1[4] = "์ฟค"
print(classDic1)
// [1: "์ฒ ์ํ๋", 4: "์ฟค", 3: "๋ฏธ์ ", 2: "์์"]
classDic1.updateValue("์์ ๋๋", forKey: 2)
print(classDic1)
// [2: "์์ ๋๋", 1: "์ฒ ์ํ๋", 4: "์ฟค", 3: "๋ฏธ์ "]
๋จผ์ ๊ฐ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์๋ 2๊ฐ์ง ์ ๋๋ค. ๋๋ค ๊ธฐ๋ฅ์ ๋๊ฐ์์
๋ค๋ง ๋ฐํ ๊ฐ์ด ๋ค๋ฆ ๋๋ค.
์๋ธ์คํฌ๋ฆฝํธ ๋ฐฉ์์ ์ฌ์ฉํด ํค ๊ฐ์ผ๋ก ์ ๊ทผํ์ฌ ๊ฐ์ ์ค์ ํด ์ฃผ๋ฉด
ํค ๊ฐ์ด ์์ผ๋ฉด ์์ ์ด ๋๊ณ , ํค ๊ฐ์ด ์์ผ๋ฉด ํด๋น ํค๊ฐ์ผ๋ก ๊ฐ์ด ์ถ๊ฐ ๋ฉ๋๋ค.
updateValue ๋งค์๋๋ฅผ ์ฌ์ฉํด์ ๊ฐ์ ์ค์ ํด ์ฃผ๋ฉด
์์ ๋ฐฉ์์ด ๋๊ฐ์ง๋ง
๋ณ๊ฒฝ๋๊ธฐ ์ ์ ์ด์ ๊ฐ(oldValue)๋ฅผ ์ถ๋ ฅํ๊ฒ ๋ฉ๋๋ค.
๋ง์ฝ ์ด์ ์ ๊ฐ์ด ์์ ๊ฒฝ์ฐ๋ nil์ด ์ถ๋ ฅ๋๊ฒ ๋๊ณ
๋ฐํ๊ฐ๋ ์ต์ ๋๋ก ์ถ๋ ฅ๋๊ฒ ๋ฉ๋๋ค.
์ต์ ๋์ ๋ค์์ ๋ค๋ฃจ๋๋ก ํ ๊ฒ์!!
๋ค์์ ์ญ์ ๋ฅผ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
var classDic1: [Int: String] = [1:"์ฒ ์", 2:"์์", 3:"๋ฏธ์ "]
classDic1[1] = nil
classDic1.removeValue(forKey: 3)
print(classDic1)
// [2: "์์"]
ํค ๊ฐ์ผ๋ก ์ ๊ทผํด์ nil์ ์ฃผ๊ฑฐ๋
removeValue๋ฉ์๋๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
'iOS > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [iOS/Swift] Closure(ํด๋ก์ ) ์์๋ณด๊ธฐ (0) | 2022.05.27 |
|---|---|
| [iOS/Swift] Switch case ๋ฌธ ์์๋ณด๊ธฐ! (0) | 2022.05.26 |
| [iOS/Swift] Collection Type - Set(์งํฉ) (0) | 2022.05.24 |
| [iOS/Swift] Collection Type - Array (0) | 2022.05.23 |
| [iOS/Swift] iOS/Swfit ๊ณต๋ถ๋ ์ด๋ป๊ฒ ํ ๊น? (0) | 2022.05.21 |
- Total
- Today
- Yesterday
- Unit Test
- URLSession
- XCTest
- ios
- Clean
- ์ค์ํํธ ๊ณต๋ถ
- Protocol
- swift ๊ณต๋ถ
- xcode
- swift ํ๋กํ ์ฝ
- func
- ์ค์ํํธ map
- RX
- swift
- ํ ์คํธ
- autolayout
- Property
- set
- test
- ์ค์ํํธ
- ์ค์ํํธ ํ๋กํ ์ฝ
- observable
- ํ๋กํผํฐ
- RxSwift
- ๊ณต๋ถ
- network
- swift urlsession
- Swift Network
- ํ๋กํ ์ฝ
- ์คํ ๋ ์ด์์
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 | 31 |