์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- algoritm
- Til
- SwiftUI ํํ ๋ฆฌ์ผ
- APPJAM
- Swift
- dfs
- SwiftUI
- concurrency
- BFS
- ๋์ ๊ณํ๋ฒ
- SQL
- duno
- HAVIT
- GCD
- 0์ด๋์ด์๋๊ธธ
- discardableResult
- ์ด์งํ์
- ํ๋ก๊ทธ๋๋จธ์ค
- GroupBy
- algorithm
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- DynamicProgramming
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- binarySearch
- URLSession
- ๊ธฐ์ด๋ฌธ๋ฒ
- ๊ณ ๋์ kit
- SwiftUI Tutorials
- SOPT
- IOS
- Today
- Total
๋ชฉ๋กSwift (7)
suvera-dev ๐ฅฆ
์ค๋์ ์ ๊ฐ ์ต๊ทผ์ ์ผ๋ ๋ฑ๋ ์ฐ๊ฒ ๋ URLSession์ ๊ณต๋ถํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค ! ์ธ๋ฏธ๋ ๋ Alamofire ๋ฐฐ์ฐ๊ณ .. ํฉ๋ ์ธ๋ฏธ๋์์๋ Moya ํ๊ณ .. ์ฑ์ผ์์๋ ์ด์ฉ๋ค URLSession์ ํ๊ฒ ๋์๋๋ ๋ํผ๋ ๐ ์๋ฒํต์ ๋ ๋์ฒด ๋ญ๋ฐ.. ์ด๋๋ก๋ ์๋๊ฒ ๋ค ์ถ์ด์ URLSession, Alamofire, Moya ์์ผ๋ก ๋ค์ ๊ฐ๋ ๋ถํฐ ์ค์ ๊น์ง .. ๊ณต๋ถํด๋ณด๋ ค๊ณ ํฉ๋๋ค :) ์ผ๋จ ์ ๊ฐ ๊ฐ์ฅ ์ต๊ทผ์ URLSession์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ํ๋๋ฐ ๊ทธ๋ฅ.. ์๋ฌด ๊ฒ๋ ๋ชจ๋ฅด๊ณ ํ๋ฃจ๋ฃฉ ์จ๋ฒ๋ ธ๋ค์... URLSession iOS ์ฑ์์ ์๋ฒ์ ํต์ ํ๊ธฐ ์ํด ์ ํ์ URLSession์ด๋ผ๋ API๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. iOS ์ฑ ํต์ ์์ ์ ๋ช ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Alamofire์ ๊ธฐ๋ฐ์ด ๋..
์ง๊ธ๊น์ง๋ ํด๋์ค์ ๊ตฌ์กฐ์ฒด์ ์ฐจ์ด๋ฅผ ์ ํํ๊ฒ ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ ViewController๋ Class.. Model ๋ง๋ค ๋๋ Struct .. ๋ฅผ ์จ์์ต๋๋ค ! ํ์ง๋ง.. ์ด์ ๋ ์กฐ๊ธ์ด๋ผ๋... ์์์ผ ํ ๋๊ฐ ์จ ๊ฒ ๊ฐ๋ค์ ^_^ ๐ Class์ Struct์ ๊ณตํต์ ์ ? ๊ฐ์ ์ ์ฅํ ํ๋กํผํฐ๋ฅผ ์ ์ธํ ์ ์์ต๋๋ค. ํจ์์ ๊ธฐ๋ฅ์ ํ๋ ๋ฉ์๋๋ฅผ ์ ์ธ ํ ์ ์์ต๋๋ค. ๋ด๋ถ ๊ฐ์. ์ ์ฌ์ฉํ์ฌ ์ ๊ทผํ ์ ์์ต๋๋ค. - ํ๋กํผํฐ ๊ฐ์ ์ ๊ทผ ์์ฑ์๋ฅผ ์ฌ์ฉํด ์ด๊ธฐ ์ํ๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค. extension์ ์ฌ์ฉํ์ฌ ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์์ต๋๋ค. Protocol์ ์ฑํํ์ฌ ๊ธฐ๋ฅ์ ์ค์ ํ ์ ์์ต๋๋ค. ๐ Class์ Struct์ ์ฐจ์ด์ ์ ? ๐ฏ Class ์ฐธ์กฐ ํ์ ARC๋ก ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ฐ์ ํด๋์ค ์ธ์คํด์ค..
์ค๋์ ์คํฐ๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป ํด๋ก์ ์ ๋ํ ๋ด์ฉ์ ๊ณต๋ถํด๋ณด์์ต๋๋ค ! ๐Closure ๋? - ์ผ์ ๊ธฐ๋ฅ์ ํ๋ ์ฝ๋๋ฅผ ํ๋์ ๋ธ๋ก์ผ๋ก ๋ชจ์๋์ ๊ฒ - func ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ค์๋ ํจ์ : named Closure - ์ผ๋ฐ์ ์ธ ํด๋ก์ : Unnamed Closure๋ฅผ ์ง์นญ { (Parameters) -> Return Type in ์คํ ๊ตฌ๋ฌธ } ๐ฟ1๊ธ ๊ฐ์ฒด๋ก์์ ํน์ง - ํด๋ก์ ๋ฅผ ๋ณ์๋ ์์์ ๋์ ํ ์ ์์ต๋๋ค. - ํจ์์ ํ๋ผ๋ฏธํฐ ํ์ ์ผ๋ก ํด๋ก์ ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค. - ํจ์์ ๋ฐํ ํ์ ์ผ๋ก ํด๋ก์ ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ผ๋ฐ ํจ์์ Closure์ ์ฌ์ฉ ๋ฐฉ์์ ์ฐจ์ด : Closure๋ ํจ์๋ฅผ func ํค์๋๋ก ์ ์ธํ๋ ๊ฒ์ด ์๋๋ผ, ํจ์๋ฅผ ๋ณ์์ ์ ์ธํ๋ ํํ๋ฅผ ์ทจํ๊ณ ์์ต๋๋ค. - ์ผ๋ฐ์ ..
์ค๋์ @discardableResult ๋ผ๋ ์น๊ตฌ์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค ! ์ ๊ฐ ํ๊ณ ์๋ ํ๋ก์ ํธ ์ฝ๋์ ์ฐ์ด๋ ๊ฒ์ ๋ณด๊ณ ์ ๋ ๊ถ๊ธํด์ ธ์ ๊ฐ์ ธ์๋ดค์ต๋๋ค ! ๐ @discardableResult - ์๋ฏธ: ๊ฒฐ๊ณผ๊ฐ์ discardable ํ ์ ์๋ค. ์ฆ ๊ฒฐ๊ณผ๊ฐ์ ๋ฒ๋ฆด ์ ์๋ค. ๋ผ๋ ์๋ฏธ - ํจ์์ return๊ฐ์ discadable ์ํฌ ์ ์๋ค -> return ๊ฐ์ ์ฌ์ฉํ์ง ์์๋ warning ๋ฉ์ธ์ง๋ฅผ ๋์ค์ง ์๋๋ก ์ค์ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ์ฌ๋ฌ๊ฐ์ง Warning์ ๋ณด๊ฒ๋๋๋ฐ์ ! ใ ใ ๊ทธ์ค์์ ์๋์ ๊ฐ์ด Result of call to '์ด์ฉ๊ตฌ' is unused ๋ผ๋ ๊ฒฝ๊ณ ๋ฅผ ๋ณธ์ ์ด ์์ ๊ฑฐ์์ ! ๊ฒฐ๊ณผ๋ฅผ return ํ์ง๋ง ๊ฒฐ๊ณผ๊ฐ์ด ์ฌ์ฉ๋์ง ์์์ ๊ฒฝ์ฐ์ ๋จ๋ ๊ฒฝ๊ณ ์ ๋๋ค ! ๊ทธ๋ ์ง๋ง.. ! ..