์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Til
- GCD
- SOPT
- SwiftUI Tutorials
- 0์ด๋์ด์๋๊ธธ
- binarySearch
- concurrency
- SQL
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- Swift
- discardableResult
- URLSession
- algoritm
- algorithm
- IOS
- ์ด์งํ์
- APPJAM
- DynamicProgramming
- ์ฐ์ํ์ค๋ถ๋ถ์์ด์ํฉ
- BFS
- dfs
- SwiftUI
- duno
- ๊ธฐ์ด๋ฌธ๋ฒ
- GroupBy
- ๊ณ ๋์ kit
- HAVIT
- ํ๋ก๊ทธ๋๋จธ์ค
- SwiftUI ํํ ๋ฆฌ์ผ
- ๋์ ๊ณํ๋ฒ
- Today
- Total
๋ชฉ๋กLanguage/Swift (12)
suvera-dev ๐ฅฆ
์ง๊ธ๊น์ง๋ ํด๋์ค์ ๊ตฌ์กฐ์ฒด์ ์ฐจ์ด๋ฅผ ์ ํํ๊ฒ ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ 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 ํ์ง๋ง ๊ฒฐ๊ณผ๊ฐ์ด ์ฌ์ฉ๋์ง ์์์ ๊ฒฝ์ฐ์ ๋จ๋ ๊ฒฝ๊ณ ์ ๋๋ค ! ๊ทธ๋ ์ง๋ง.. ! ..
๐ Optional ์ด๋ ? - ํ์ ์ ๊ฐ์ด ์์์๋ ์์์๋ ์๋ค๋ ๊ฒ์ ์๋ฏธํ๊ณ ํ์ ๋ค์ ?๋ฅผ ๋ถ์ฌ์ Optional ์ ๋ง๋ค ์ ์์ต๋๋ค. - ๋ณ์์ ๊ฐ์ด nil ๋ ์ ์๋ค๋ ๊ฒ์ ํํํ๋ ๊ฒ Optional ๋ณ์๋ค์ ๊ฐ์ด Optional("—-") ํ์์ผ๋ก ํ์๋๊ธฐ ๋๋ฌธ์ value ๊ทธ๋๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒฝ์ฐ์๋ unwrapping์ ํด์ค์ผ ํฉ๋๋ค. unwrapํ๋ ๋ฐฉ๋ฒ์ ๋จผ์ Force unwrapping์ด ์์ต๋๋ค. ๊ฐ ๋ค์ !๋ฅผ ๋ถ์ด๋ฉด ๋๋๋ฐ ์ด๋ value๊ฐ nil์ธ ๊ฒฝ์ฐ์ force unwrapping์ ์๋ํ๋ฉด ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. ๐ Optional ์ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๋ ค๋ฉด ? Optinal ๋ณ์์ ๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฐฉ๋ฒ์ Optional Binding ๊ณผ Optinal Chaini..