ํฐ์คํ ๋ฆฌ ๋ทฐ
์๋ ํ์ธ์?
๋๊ตฌ๋ฆฌ์ ๋๋ค~~
์ ๋ฒ ํฌ์คํ ์์ swift์ ๊ณ ์ฐจํจ์๋ฅผ ์์๋ณด์๋๋ฐ์~
์ค๋์ ์ ๋ฒ ํฌ์คํ ์์ ๋ค๋ฃฌ map๊ณผ ๋น์ทํ์ง๋ง ๋ค๋ฅธ
flatmap๊ณผ compactmap์ ๋ํด ์์๋ณผ๊นํฉ๋๋ค~~
์ด๋ฒ ํฌ์คํ ์ map๊ณผ ๋น๊ต๋ฅผ ํ ๋ ค๊ณ ํฉ๋๋ค.
๊ทธ๋์ map์ด๋ ๊ณ ์ฐจํจ์์๋ํด ์ ๋ชจ๋ฅด์ ๋ค๋ฉด ์ ๋ฒ ํฌ์คํ ์ ๋ณด๊ณ ์ค์๋ฉด
๋์์ด ๋ ๊ฒ์์!
๊ทธ๋ผ ๊ณ ๊ณ !!!
๐ฆ flatMap
flatmap์ ๋ญ๊น์?
flat์ ์ฌ์ ์์ ํํํ๋ค๋ ๋ป์ด ์๋๋ฐ์.
map์ ๊ฐ๋จํ ์ค๋ช ํ๋ฉด ์ด๋ค๊ฒ์ ๋ณํํ ์์๋ก ๋ง๋ค์ด ์ถ๋ ฅํ๋ ํจ์
flatmap์ ๊ทธ๋ผ ์ด๋ค๊ฒ์ ํํํ๊ฒ ๋ณํํ ์์๋ก ์ถ๋ ฅ??ใ ใ ใ
์ ์ฐ๊ฒฐ์ด ์๋๋ค์ใ ใ ใ ใ ใ
์ด๋ด๋ ๊ณต์๋ฌธ์๋ฅผ ์ฐพ์๋ด์ผ๊ฒ ์ฃ ?

์ค... ์ด๊ฑฐ ๋ญ์ง..?
๊ณต์๋ฌธ์ ์ค๋ช ์ ๋ด๋ ์ ๋ชจ๋ฅด๊ฒ ์ด์..
๊ทธ๋ด๋ ์ฝ๋๋ฅผ ์ฌ์ฉํด๋ณด๋ฉด์ ๊ธฐ๋ฅ์ ์ดํด๋ณผ๊ฒ์!!
๊ณต์๋ฌธ์์๋ ์์์ ๋๋ค!

์ ์ฝ๋๋ฅผ ๋ณด๋๊น ์๊ฒ ๋ค์!
ํํํ๊ฒ ํด์ค๋ค๊ฐ ์ฐจ์์ ๋ฎ์ถฐ์ค๋ค๋ ์๋ฏธ์๊ตฐ์~~
2์ฐจ์๋ฐฐ์ด์ 1์ฐจ์์ผ๋ก ๋ฐ๊พธ์์ผ๋๊น~~
์ ๊ทธ๋ผ 1์ฐจ์ ๋ฐฐ์ด์ ์ด๋ป๊ฒ ๋ ์ง ๊ถ๊ธํด์ ํ ์คํธ ํด๋ดค๋๋ฐ์~

์ด๋ผ...?
flatmap์ด deprecated...?
์ต์ ๋ ๊ฐ์ ์ถ๋ ฅํ๊ณ ์ถ์ผ๋ฉด compactMap์ ์ฌ์ฉํด๋ผ..?
๋ฌด์จ ๋ด์ฉ์ธ์ง ๊ถ๊ธํด์ ์ฐพ์๋ณด๋
swift4.1 ์ ๋ฐ์ดํธ์์ flatmap์ด ์์ด์ง๊ณ ๊ทธ ๊ธฐ๋ฅ์ด compactMap์ผ๋ก ๋ง๋ค์ด์ก๋ค๋ผ๋
๋ด์ฉ์ด ์์์ต๋๋ค..
์์ ์ flatmap์ด ์๋ ๊ธฐ๋ฅ์ด ๋ ์์๋๋ณด๋ค์!
๊ทธ๋ผ ๊ทธ ๊ธฐ๋ฅ์ด ๊ถ๊ธํ๋๊น
compactMap์ ์ฌ์ฉํด๋ณด๋๋ก ํ ๊ฒ์!
๐ฆ compactMap
compact์ ์ฌ์ ์๋ฏธ๋ก ์ํ์, ๊ฐํธํ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ด์~
compactMap์ ๊ทธ๋ผ... ๊ฐํธํ๊ฒ ๋ณํํ๋ ๊ธฐ๋ฅ..?ใ ใ
(์ถ์ธกํ๋๊ฒ ๋๋ฆ ์ฌ๋ฐ๋ค์ใ ใ ใ )
๊ณต์๋ฌธ์๋ฅผ ์ดํด๋ณด๋ฉด

๊ฐ๋จํ ์ ๋ฆฌํ๋ฉด non-nil์ธ ๊ฐ์ ์ถ๋ ฅํ๋ค!!
๋ฐ๋ก ์ฝ๋๋ก ํ์ธํด ๋ณผ๊ฒ์~

์ต์ ๋ Int ํ์ ์ ์์๋ก ๊ฐ์ง๋ ๋ฐฐ์ด๋ก ํ ์คํธ ํด๋ณด์๋๋ฐ์!
์ต์ ๋ ๊ฐ์ ๋ฐ์ธ๋ฉํ๊ณ , nil๊ฐ์ ์ ๊ฑฐํด์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํด์ฃผ๋ค์~~
compatcMap.. ์ถ๋ ฅ์ ๊ฐ๋จํ ํด์ฃผ๋ ์ ๊ตฌ๋ ๋!!
๐ฆ flatMap vs compactMap
๊ทธ๋ผ 2์ฐจ์ ๋ฐฐ์ด์์ compactMap๊ณผ flatMap์ด ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ๋น๊ตํด๋ณผ๊ฒ์!

์ต์ ๋ Intํ์ ์ ๊ฐ์ง๋ 2์ฐจ์ ๋ฐฐ์ด๋ก ํ ์คํธ ํด๋ณด์๋๋ฐ์!
flatMap์ ์ฌ์ฉํด์ ๋ณํํ ๊ฒฐ๊ณผ๋
2์ฐจ์ ๋ฐฐ์ด์ 1์ฐจ์ ๋ฐฐ์ด๋ก ๋ฐ๊พธ์ด์ฃผ์๊ณ
compactMap์ ์ฌ์ฉํด์ ๋ณํํ ๊ฒฐ๊ณผ๋
nil๊ฐ๋ ์ ๊ฑฐํ์ง ์์๊ณ ์ฐจ์๋ ๋ฎ์ถฐ์ฃผ์ง ์์์ด์!!
์ ๋ฆฌํด๋ณด๋ฉด
flatMap์ 2์ฐจ์ ์ด์ ๋ฐฐ์ด์์ ๊ทธ ์ฐจ์์ 1๋จ๊ณ ๋ฎ์ถ ๋ ์ฌ์ฉํ๋ฉด ๋๊ณ ,
compactMap์ 1์ฐจ์ ๋ฐฐ์ด์์ nil๊ฐ์ ์ ๊ฑฐํ๊ณ ์์๋ฅผ ์ต์ ๋ ๋ฐ์ธ๋ฉ ํ๊ณ ์ถ์๋ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
์ค๋ map๊ณผ ๋น์ทํ flatMap๊ณผ compactMap์ ๋ํด
์์๋ณด์๋๋ฐ์!
์ฒ์๋ดค์๋ ๋ญ๊นํ๊ณ ๊ถ๊ธํ๋๋ฐ ๋ฐฐ์ฐ๊ณ ๋๋๊น
์ฌ์ฉํ ๊ณณ์ด ๋ง๊ฒ ๊ตฌ๋์๊ฐ์ด ๋ค์ด์
์ค๋ ๊ณต๋ถํ๊ฒ ๋ฟ๋ฏํ๋ค์!!ใ ใ ใ
์ค๋๋ ๊ธ ์ฝ์ด์ฃผ์ ์ ๊ฐ์ฌํ๊ณ ,
ํน์ ์์ ํด์ผํ ์ ์ด๋ ํผ๋๋ฐฑ ์์ผ์๋ฉด ๋๊ธ๋ถํ๋๋ฆด๊ฒ์~~ใ
์๋ ~~๐ฆ
'iOS > Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [iOS/Swift] ARC(Automatic Reference Counting)์ ์์๋ณด์ (0) | 2022.07.24 |
|---|---|
| [iOS/Swift] Generic(์ ๋ค๋ฆญ) ๋ ์ง์ง ์ ์๊ณ ์ถ๋ค! (0) | 2022.07.03 |
| [iOS/Swift] swift์ ๊ณ ์ฐจํจ์๋ค map, filter, reduce... ๋๋จ ๋ญ๋? (0) | 2022.06.25 |
| [iOS/Swift] NotificationCenter.. ๋ ๋ญ๋? (1) | 2022.06.20 |
| [iOS/Swift] Protocol์์๋ณด๊ธฐ - (3/3) (0) | 2022.06.13 |
- Total
- Today
- Yesterday
- URLSession
- ํ๋กํ ์ฝ
- ์ค์ํํธ ํ๋กํ ์ฝ
- Unit Test
- ํ ์คํธ
- network
- Clean
- ๊ณต๋ถ
- XCTest
- test
- ์คํ ๋ ์ด์์
- swift urlsession
- Swift Network
- RX
- Property
- observable
- swift
- xcode
- func
- Protocol
- RxSwift
- set
- ์ค์ํํธ ๊ณต๋ถ
- ios
- ํ๋กํผํฐ
- autolayout
- ์ค์ํํธ map
- swift ๊ณต๋ถ
- ์ค์ํํธ
- swift ํ๋กํ ์ฝ
| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 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 |