์ ์ฒด ๊ธ
-
์ ๋ค๋ฆญSwift 2020. 12. 13. 16:54
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ค๋ฆญ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ ๋ค๋ฆญ์ ์ค์ํํธ ์ธ์ด๋ก ์ฌ์ฉ ํ ์ ์๋ ์์ฃผ ์ค์ํ ๊ธฐ๋ฅ์ ๋๋ค..!! ์ ๋ค๋ฆญ์ ์ด์ฉํ๋ฉด ์ฝ๋์ ์ค๋ณต์ ์ค์ฌ์ฃผ๊ณ ๊ตฌํํ ๊ธฐ๋ฅ/ํ์ ์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค (ํ๋ฒ๋ง ๊ตฌํํ๋ฉด ๋ฉ๋๋ค~!!) 1. ์ ๋ค๋ฆญ ์ ์ธ ๋ฐ ์ฌ์ฉ -. ๋ฉ์๋ ์ด๋ฆ ๋ค () ๊ธฐํธ๋ฅผ ๋ถ์ฌ ํ์ -> func generic (value: T) -> T { } func ++ (frontNumber: T, backNumber: T) -> T { return frontNumber + backNumber } * BinaryInteger ํ๋กํ ์ฝ๋ก ํ์ ์ ์ข ๋ ๋ช ํํ ์ฃผ์ด ์ ์ ํ์ ๋ชจ๋ ํด๋น ๋ ์ ์๋๋ก ์ค์ 2. ์ ๋ค๋ฆญ ํจ์ -. ํจ์ ๋ฉ์๋๋ฅผ ์ ๋ค๋ฆญ์ผ๋ก ์ ์ธํ๋ฉด ์์์..
-
์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆCS(ComputerScience) 2020. 12. 8. 16:15
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ฐ๋ ์ ๋ํด ํฌ์คํ ํด๋ณด๊ฒ ์ต๋๋ค. ์ปดํจํฐ ๊ธฐ๋ณธ์ง์์ด์ ์ข ์ด๋ ค์ฐ๋ฉด์ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ๋ ํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ! ๋งํ์๋ฉด ํ๋ ๋๋ ์์๊ฒ์ด๊ณ ๋ง์ ๋ถ๋ถ์ด ์์ง๋ง ์ด๋ฒ ํฌ์คํ ์์๋ ์กฐ๊ธ ๊ฐ๋จํ๊ฒ ๊ฐ๋ ๋ง ์ง๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค^^ [์ฉ์ด ์ ๋ฆฌ] -. ์๊ณ ๋ฆฌ์ฆ: ๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ ์ฐจ/๋ฐฉ๋ฒ์ ๋ชจ์ (์์ฐจ์ ์ธ ๋ฐฉ๋ฒ) -. ์๋ฃ๊ตฌ์กฐ: ์๋ฃ๋ฅผ ํจ์จ์ ์ผ๋ก ์ด์ฉํ ์ ์๋ ๋ฐฉ๋ฒ๋ก (๋ฐ์ดํฐ๋ฅผ ์ต์ ํํ์ฌ ์ฌ์กฐ๋ฆฝํ๋ ๋๋, ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ํํ, data structer) [์๋ฃ๊ตฌ์กฐ์ ์ข ๋ฅ] -. ์์๊ตฌ์กฐ / ์ ํ๊ตฌ์กฐ / ๋น์ ํ๊ตฌ์กฐ / ๋ฌผ๋ฆฌ๊ตฌ์กฐ / ์ถ์์ ๊ตฌ์กฐ :์์๊ตฌ์กฐ๋, ์๋ฃ(์ ์,์ค์ ๋ฑ..)๋ฅผ ์ชผ๊ฐ๊ฑฐ๋ ์กฐํฉํ์ฌ ๋ง๋ค์ด๋์ [์๋ฃ๊ตฌ์กฐ์ ํ์ฉ] 1. ๋ฐฐ..
-
AppDelegate & SceneDelegateiOS 2020. 12. 7. 09:50
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ค๋ ํฌ์คํ ์์๋ Xcode๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๋ ์ข์ธก Project Navigator์์ AppDelegate.swift์ SceneDelegate.swift ํ์ผ์ ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. ๋ ํ์ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ง๋ค์ด์ง๊ณ ๊ตฌ๋๋ ๋ ๊ผญ ํ์์ ์ธ ํ์ผ๋ก ๊ธฐ๋ณธ์ ์ผ๋ก ์ธํ ์ด ๋์ด์์ด ํฌ๊ฒ ๊ฑด๋์๋์ผ์ด ์์์๊ฒ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ฒ ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ iOS ๋ฒ์ ์ด ์ฌ์ฉ์ ๋ง๋ค ๋ค๋ฅผ๊ฒฝ์ฐ ๋ง์ฝ iOS ๋ฒ์ ์ ๋ฐ๋ผ ์ฌ์ฉํ์ง ๋ชปํ๋ ํ๋กํ ์ฝ์ด๋ ์ด๋ ํ ๊ธฐ๋ฅ์ด ์๋ค๋ผ๊ณ ํ๋ค๋ฉด ์กฐ์ ํด์ฃผ๋ ๋ฐฉ๋ฒ์ ๋ํด ์๋ดํ๊ฒ ์ต๋๋ค. iOS 13 ๋ฒ์ ์ด์ ์๋ AppDelegate ํ์ผ ์์์ ๋ทฐ ์ธ์ดํด์ ๊ตฌ๋ํด์ฃผ๊ณ ๋ํ๋ด์ฃผ๋ ๊ทธ๋ฌํ ๋ฉ์๋๋ค์ ๊ตฌํ์ด ๋ค ์ด๋ค์ ธ์์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ iOS 13 ์ดํ ๋ถํฐ๋ ๋ฐ๋ก Scene..
-
SOLIDCS(ComputerScience) 2020. 12. 3. 17:05
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ค๋์ SOLID์ ๋ํด ํ์ตํ ๋ถ๋ถ์ ๊ณต์ ํด๋ณด๋ฉฐ ์๊ฐ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค..! SOLID๊ฐ ๋ญ๊น์ ๋๋์ฒด?? ์ค์ํํธ๋ ๊ฐ์ฒด์งํฅ ์ธ์ด์ธ๊ฑด ๋ค๋ค ์์ค๊ฒ๋๋ค. SOLID๋ฅผ ๊ฐ๊ด์ ์ผ๋ก ์ ๋ฆฌํ์๋ฉด ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ์ ์ํ 5๊ฐ์ง ์์น!! ์ด๋ผ๊ณ ํํํ ์ ์์ต๋๋ค. SOLID๋ ์ด๋ป๊ฒ๋ณด๋ฉด ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ์ํ ๋์์ธ ํจํด๊ณผ ๊ฐ์ด ์ด๋ ํ ์ฝ์? ์ด๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค. ๋๊ตฌ๋ ๋ณด๊ธฐ ํธํ๊ณ ๋จ์ํ๋ฉฐ ํ์ฅ์ฑ์ด ์๋ ํ๋ก๊ทธ๋๋ฐ์ ํ๋๊ฒ์ด ์ค์ํ๋ค๊ณ ๋ชจ๋ ํ๋ก๊ทธ๋๋จธ๋ค์ ์๊ฐํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ์ํด์ ๋์์ธ ํจํด์ด๋ MVC ๋ชจ๋ธ์ด๋ ์๋ค๊ณ ์๊ฐ๋ค์ฃ ? ๊ทธ๋ฐ๊ฒ๊ณผ SOLID์ ๊ด๋ ์ ์ ์ฌํ๋ค๊ณ ์๊ฐ๋ญ๋๋ค. ๊ทธ๋ฌ๋ฉด ์ด์ SOLID๊ฐ 5๊ฐ์ง ์์น์ด๋ผ๋ฉด ์ด๋ค 5๊ฐ์ง๋ฅผ ๋ํ๋ด๋์ง ์ด์ ์์๋ณด๊ฒ ์ต๋๋ค~! 1. SRP (..
-
Gesture RecognizeriOS 2020. 12. 2. 18:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Gesture Recognizer์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ์ฌ์ฉ์์ ํฐ์น๋ ์ค์์ดํ/๋กฑ ํ๋ ์ค ๊ฐ์ ๋ฐ์์ ๋ํด ์ฒ๋ฆฌ๋ฅผ ํด์ค์ผํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ๊ฐ ์ด๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋ฉฐ ๊ตฌํํด๋ณด๋ ๊ณผ์ ์์ ํ ์คํธ ํ๋์์ ํค๋ณด๋๊ฐ ์ฌ๋ผ์ค๊ณ ํด๋น ํค๋ณด๋๊ฐ ๋ค๋ฅธ ๋ถ๋ถ์ ํฐ์นํ ๋ ๋ด๋ ค๊ฐ๊ฒ ํ๊ณ ์ถ์ด ์ด๊ฒ์ ๊ฒ ์ฐพ์๋ดค์ต๋๋ค. ๊ทธ๋ผ ํจ๊ป ๊ทธ๋ฐ๊ฒ๋ค์ ํ๋ ค๋ฉด ์ด๋ค ๋ฐฉ๋ฒ์ด ์๋์ง ๋ฌด์จ ์ฐจ์ด๊ฐ ์๋์ง ๋ณด๊ฒ ์ต๋๋ค !!! ํฌ๊ฒ ํฐ์น์ ๋ํด ๋ฐ์์ ๊ตฌํํ ๋๋ 2๊ฐ์ง๊ฐ ์์ต๋๋ค. touch VS Gesture Recognizer 1. touchBegan/Ended/Moved/Cancelled -. touchBegan: ํฐ์น๊ฐ ์์๋๋ ์์ ์ ๋ฉ์๋๋ฅผ ํธ์ถ -. touchEnd..
-
UMLiOS 2020. 12. 2. 01:50
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ UML์ ๋ํด ์ ๊ฐ ํ์ตํ๋ฉฐ ๋๋๊ฒ์ ์ ๋ฆฌํด๋ณด๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ฒ ์ต๋๋คใ ใ ์์ง ์ ๋ ๋ฏธ์ํ ๋ถ๋ถ์ด ๋ง์ผ๋ฉฐ ํฌ์คํ ์ ๋ด์ฉ์ด ์ ํํ์ง ์์ ์ ์์ต๋๋ค..! ๋ฐ์ ํด๋๊ฐ๋ ๊ณผ์ ์ด๋ผ์์..^^ ์์ ๋์ผํ ๊ฒ์ด๋ ์๊ฒฌ์ด ์์ผ์๋ฉด ์ธ์ ๋ ๋๊ธ ๋ถํ๋๋ ค์~~!! UML -. Unified Modeling Language์ ์ฝ์๋ก ํ์คํ ๋ชจ๋ธ๋ง ์ธ์ด -. ์์คํ ๊ตฌ์กฐ๋ฅผ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ์ฐ๊ฒฐํ์ฌ ํํํ ์ ์์ต๋๋ค. (์๋ฅผ๋ค์ด ์ด๋ฆ/์์ฑ/์ฐ์ฐ ๋ฑ๋ฑ..!) -. UML์ ์ฌ์ฉํ๋ ๊ฐ์ฅ ํฐ ์ด์ ๋ ์ฝ๋์ ๋ํ ์ค๋ช ์ ๋์ฑ ํธํ๊ฒ ํด์ค๋๋ค. ์ฝ๋๋ฅผ ์ค๋ช ํ ๋๋ 3๊ฐ์ง ์ ๋์ ๋ฐฉ๋ฒ์ด ์๋๋ฐ 1) ํด๋น ์ฝ๋๋ง์ผ๋ก ์ค๋ช ์ด ํ์์์ ๋งํผ ์ ์ง๊ฑฐ๋!! 2) ๊ธ์ด๋ ์ฃผ์์ผ๋ก ํํ์ ํ๊ฑฐ๋~ (๊ฐ์ฅ..
-
View LifeCycle (์๋ช ์ฃผ๊ธฐ)iOS 2020. 11. 24. 14:01
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ค๋์ ์ค์ํํธ๋ก ๋ทฐ๊ฐ ๋ํ๋๋ ์๋ช ์ฃผ๊ธฐ์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค. View LifeCycle, ์๋ช ์ฃผ๊ธฐ ๊ฐ๋จํ ์ฃผ์ ์ด์ง๋ง ํ๋ฉด ์ ํ์ ์์ด์ ๊ฐ์ฅ ์ค์ํ์ฃ ~!? ๋ทฐ๊ฐ ํ๋ฉด์ ๋ํ๋๊ณ ์ฌ๋ผ์ง๋ ๊ทธ ์ํ ์ธ์ดํด์ ๋ํ๋ด๋๊ฒ์ผ๋ก ๋ทฐ ์ปจํธ๋กค๋ฌ์๋ ์๋์ ๊ฐ์ด ์ฌ๋ฌ ๋จ๊ณ์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. [์๋ช ์ฃผ๊ธฐ] 1. init (์ด๊ธฐํ) 2. loadView -. ๋ทฐ ์ปจํธ๋กค๋ฌ๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋๋ค. 3. viewDidLoad -. ๋ทฐ๊ฐ ์ค์ง์ ์ผ๋ก ๋ฉ๋ชจ๋ฆฌ์ ๋ก๋๋๋ค. ์ด ๋ฉ์๋์์ ์ค๋ฒ๋ผ์ด๋ํ์ฌ ํ๋ฉด์ด ๋ณด์ฌ์ง๊ธฐ ์ ๊ธฐ๋ฅ๋ค์ ๊ตฌํํ ์ ์๋ค. ๊ฐ๋จํ ์ด๊ธฐํ๋ฉด์ ๊ตฌ์ฑํ๋ ๋ฉ์๋๋ก ๋ณผ ์ ์๋ค. ์ค์ํ์ ์ ํด๋น ๋ฉ์๋๋ ์คํ ํ ์ค์ง ํ๋ฒ๋ง ํธ์ถ์ด ๋๋ค. 4. viewWillAppear -. ๋ง ๊ทธ..
-
ํ๋กํ ์ฝ/๊ตฌ์กฐ์ฒด/ํด๋์ค์ ๊ดํ์ฌSwift 2020. 11. 23. 17:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๊ฐ ํ์ตํ๋ฉฐ ๋๋ฆ๋๋ก ๊ฐ๋จํ๊ฒ ํท๊ฐ๋ฆฌ๋ ๋ถ๋ถ์ ์ ๋ฆฌํ๊ฒ์ ๊ณต์ ํ๊ฒ ์ต๋๋ค. ๋ฐ๋ก ํ๋กํ ์ฝ/๊ตฌ์กฐ์ฒด/ํด๋์ค์ ๊ดํ์ฌ ์ด์ผ๊ธฐ๋ฅผ ํด๋ณผ๊น ํฉ๋๋ค..! ์ค์ํํธ๋ฅผ ์ฒ์ ์ ํ๋ฉฐ ๊ณต๋ถํ๋ค๋ณด๋ ์ ๋ค๋ฅธ ์ธ์ด์ ๋ฌ๋ฆฌ ํ๋กํ ์ฝ ์งํฅ์ด๋ฉฐ ๊ตฌ์กฐ์ฒด๊ฐ ์ค์ํ์ง ๊ถ๊ธํ์ต๋๋ค. ์์ง ๋ช ํํ๊ฒ ํด๋ต์ ์ฐพ์๊ฑด ์๋์ง๋ง ์ด๋์ ๋ ์ ๋ฆฌ๋ ๋ถ๋ถ์ ๊ธฐ์ฌํ์์ผ๋ ๋ง์ฝ ๋ค๋ฅธ ์ฌํญ์ด๊ฑฐ๋ ์๊ฒฌ์ด ์์ผ์๋ฉด ๋๊ธ ๋ฌ์์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :-) 1. ํ๋กํ ์ฝ : ์ด๋ค ๊ธฐ๋ฅ์ ์คํํ๊ธฐ ์ํด ํ๋กํผํฐ์ ๋ฉ์๋ ๊ทธ๋ฆฌ๊ณ ๋ค๋ฅธ ๊ธฐ๋ฅ๋ค์ ํ์ด๋ค. ์ฐ์ ์ค์ํํธ๋ ๊ฐ์ฒด ์งํฅ์ด๋ฉด์ ํ๋กํ ์ฝ ์งํฅ ์ธ์ด์ด๊ธฐ๋ ํ๋ค. ์ค์ํํธ์ ๋๋ถ๋ถ์ ๊ธฐ๋ณธ ํ์ ์ด ๊ตฌ์กฐ์ฒด๋ก ๊ตฌํ๋์ด์๋ค. ํด๋์ค๋ ์์์ ๋ฐ์ ๊ตฌํ๋์ง๋ง ๊ตฌ์กฐ์ฒด๋ ์์์ด ๋์ง ์๋๋ฐ..