SWIFT
-
Responder Chain / Touch EventiOS 2021. 2. 22. 18:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค!์ด๋ฒ ํฌ์คํ ์์๋ Responder Chain / Touch Event์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Responder๋? : ์ด๋ฒคํธ๋ฅผ ํธ๋ค๋งํ๊ณ ๋ฐ์ํ ์ ์๋ ๊ฐ์ฒด : ๋ชจ๋ Resonder ๊ฐ์ฒด๋ UIResponder์์ ์์๋ ํด๋์ค์ ์ธ์คํด์ค : ์ด๋ฒคํธ ๋ฐ์ ์ ์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํด ํด๋น ์ด๋ฒคํธ๋ฅผ ์ฑ์ Responder ๊ฐ์ฒด์ ์ ๋ฌ : UIKit์ ์ ์๋ UIResponder ํด๋์ค์ด๋ฒคํธ ์ข ๋ฅ : Touch / Press / Shake-motion / Remote-control / Editing menu : responder๊ฐ ํด๋น ์ด๋ฒคํธ์ ๋ง๋ ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ํด์ ๊ตฌํํด์ผํจ Responder Chain : responder ๊ฐ์ฒด๋ค์ด ์ด๋ฒคํธ๋ ์ก์ ๋ฉ์์ง๋ฅผ ํธ๋ค๋งํด์ผ๋ ๊ฒ์ ์ฑ ๋ด..
-
ARC ์ฌํSwift 2021. 2. 17. 12:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ARC์ ๋ํด ์ฌํ์ ์ผ๋ก ์์๋ณด๊ฒ ์ต๋๋ค. ARC๋? : Automatic Reference Counting (์๋์ฐธ์กฐ๊ณ์)๋ฅผ ๋ปํ๋ค. : ๋ค๋ฅธ ์ธ์ด์๋ ์๋ ๋ ์ฐฝ์ ์ธ ๊ฒ์ผ๋ก ์๋ฐ์ ๊ฐ๋น์ง ์ปฌ๋ ์ ๊ธฐ๋ฒ๊ณผ๋ ๋ค๋ฆ (๋ฉ๋ชจ๋ฆฌ ํด์ ์์ ์ ๊ดํ ์ดํด๊ฐ ํ์) ์๋์ฐธ์กฐ๊ณ์๋? : ์ฑ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌํด์ค๋ค. : ์ธ์คํด์ค๊ฐ ๋์ด์ ํ์ํ์ง ์์๋ ํด๋์ค ์ธ์คํด์ค์ ์ฌ์ฉ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์๋์ผ๋ก ํด์ ํด์ค๋ค. (์ฐธ์กฐ ํ์ ์ ํ ๋น / ํด์ ์์ ์ ์๋ ๊ด๋ฆฌ) : ํด๋์ค์ ์ธ์คํด์ค(์ฐธ์กฐ ํ์ )์๋ง ์ ์ฉ (๊ตฌ์กฐ์ฒด/์ด๊ฑฐํ ๋ฑ ๊ฐ ํ์ ์๋ ์ ์ฉ๋์ง ์๋๋ค) ARC ํน์ง 1) ํ๋์ ํ์ฑํ ์ฐธ์กฐ๊ฐ ์๋ค๋ฉด ์ธ์คํด์ค๋ ํ ๋น ํด์ ๋์ง ์๊ณ ๊ณ์ ์กด์ฌ 2) ๊ฐํ์ฐธ์กฐ์ ํ ๋น์ nil๋ก ์ ๋ฆฌ..
-
CoreDataiOS 2021. 2. 15. 17:32
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CoreData(์ฝ์ด๋ฐ์ดํฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! ์ฐ์ ์ฝ์ด๋ฐ์ดํฐ๋ผ๋๊ฑธ ์๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์์๋ณด๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ๋์ด๊ฐ๊ฒ ์ต๋๋คโบ๏ธ 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? : DataBase ์ค์ฌ์ DB๋ผ๊ณ ํํ ๋ถ๋ฅด๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ป๊ธฐ ์ํ ๊ธฐ๋ฅ์ด๋ ๊ตฌ์กฐ๋ฅผ ๋ํ๋ด๋ ์ถ์์ ์ธ ๊ฐ๋ ์ ๋๋ค. -. ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ฌ๋ฌ๊ฐ์ง ๋ค์ํ ์ข ๋ฅ๋ค๋ก ๋๋ ์ ์์ต๋๋ค. 1) ๊ณ์ธตํ: ๋ฐ์ดํฐ ๊ด๊ณ๋ฅผ ํธ๋ฆฌ ํํ๋ก ์ ์ํ๋ ๊ตฌ์กฐ (๋ฐ์ดํฐ ์ค๋ณต์ด ์๊ธธ ์ ์์) 2) ๋คํธ์ํฌํ: ๋ฐ์ดํฐ ๊ด๊ณ๋ฅผ ๊ทธ๋ฌผ ํํ๋ก ์ ์ํ๋ ๊ตฌ์กฐ (๊ณ์ธตํ์ ๋ฐ์ดํฐ ์ค๋ณต ๋ฌธ์ ๋ ํด๊ฒฐ๋์ง๋ง ๋ณต์กํ ๊ตฌ์กฐํ์ ์ถํ ๊ตฌ์กฐ ๋ณ๊ฒฝ ์ ๋น์ฉ์ด ๋ง์ด๋ฌ) 3) ๊ด๊ณํ(SQL): ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ํ๋ด๋ ๊ตฌ์กฐ๋ก ํํ ์ฌ์ฉํ๋..
-
CacheCS(ComputerScience) 2021. 2. 4. 15:38
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Cache (์บ์)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.โ๏ธ 1. ์บ์๋ ?? : ์บ์(cache)๋ ๋ฐ์ดํฐ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋๋ ์์ ์ ์ฅ์๋ฅผ ๋งํ๋ค. -. ์ญํ ๋ฐ ์ฅ์ : ๊ธฐ์กด๋ฐฉ์์ผ๋ก๋ ๋ฐ์ดํฐ ์ ๊ทผ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ฑฐ๋ ๊ฐ์ ๋ค์ ๊ณ์ฐํ๋ ์๊ฐ์ ์ ์ฝํ ๋ ์ฌ์ฉ (์๊ฐ์ ์ค์!), ์บ์์ ๋ฐ์ดํฐ๋ฅผ ๋ฏธ๋ฆฌ ๋ณต์ฌํด ๋์ผ๋ฉด ๊ณ์ฐ์ด๋ ์ ๊ทผ ์๊ฐ ์์ด ๋ ๋น ๋ฅธ ์๋๋ก ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ค. -. ๋จ์ : ์ ๋ฐ์ดํธ๋ฅผ ๋ฐ๋ก๋ฐ๋ก ํด์ฃผ์ง ์๊ธฐ์ ์ฆ๊ฐ์ฑ์ด ๋จ์ด์ง 2. ์บ์๋ฅผ ๊ตฌ๋ถํ๋ ๊ธฐ์ค -. ํด๋ผ์ด์ธํธ / ์๋ฒ : ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ์บ์๋ ๊ตฌ๋ถ๋๋ค. ํด๋ผ์ด์ธํธ๋ ํด๋ผ์ด์ธํธ๋ง์ local์ ์ ์ฅํ ์ ์๋ ์บ์๊ฐ ์์ผ๋ฉฐ, ์๋ฒ๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ๋ํด ์ ์ฅํ ์ ์๋ ์บ์๊ฐ ..
-
KeyChainiOS 2021. 2. 1. 16:58
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ KeyChain ์ฆ ํค์ฒด์ธ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ฐ์ ํค์ฒด์ธ์ด๋ ๋ฌด์์ธ๊ฐ!? : ํค์ฒด์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธํ๋ ๋ฐ์ดํฐ์ ์์ ๋ชจ์๋ค์ ์ ์ฅํ๋ ๋งค์ปค๋์ฆ (์ด์ ๋ค๋ฐ)๋ก ํํ๋ฉ๋๋ค! ๊ทธ๋ผ ์ด์ ํค์ฒด์ธ๊ณผ ๊ด๋ จํ์ฌ ์ข ๋ ์์ธํ ์์๋ณด๋๋กํ์ฃ ๐ง 1. ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ๋ค 1) Keyed Archiver: coreData๋ณด๋ค ๋ ๋ณต์กํ๊ณ ๋๋ฆฌ์ง๋ง ์ฌ์ฉ์ด ๊ฐ๋จํ๋ค. ์ ์ฅํ ๋ฐ์ดํฐ๊ฐ NSConfig ํ๋กํ ์ฝ์ ์ฑํํด์ผํ๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ ํค/์ด๋ฆ์ผ๋ก ์ธ์ฝ๋ฉ์ํ๊ณ ๊บผ๋ผ๋ ๋์ฝ๋ฉ์ ์ด์ฉํ๋ค. 2) CoreData: UserDefault๋ณด๋ค ๋ ๋ณต์กํ์ง๋ง ์ ์ฅ๋ ์ ๋ณด์ ๊ตฌ์กฐ๊ฐ ํ์ํ ๋ ์ ์ฉํ๋ค. ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ฅ์ ์ฌ์ฉ๋๋ ๊ด๊ณํ DB, ๊ฐ๋จํ UI์์ ์๋์ผ..
-
Type CastingSwift 2021. 1. 29. 15:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Type Casting (ํ์ ์บ์คํ )์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐บ Type Casting : ์ธ์คํด์ค ํ์ ํ์ธ ๋ฐ ์ํผ/์๋ธ ํด๋์ค ํ์ ๊ฐ์ด ์ฌ์ฉํ๊ธฐ ์ํ ๊ฐ๋ : is / as ์ฐ์ฐ์๋ก ๊ตฌํ 1) is ํค์๋ : ์ธ์คํด์ค ํ์ ํ์ธ class Test { var age: UInt init (age: UInt) { self.age = age } } var green = Test(age: 100) if green.age is UInt { print(“green’s age is UInt type) } else { print(“green’s age is not UInt type) } -> ์ด๋ ๊ฒ ํด๋น ํ์ ์ด ๋ง๋์ง ํ์ธํด์ฃผ๋ ๊ฐ๋ ๋ ๋์๊ฐ ์ฌ๋ฌ ํด๋์ค๋ฅผ ์์ ๋ฐ์์..
-
ํ์ ๋ฉ์๋Swift 2021. 1. 27. 09:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ํ์ ๋ฉ์๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. # ํ์ ๋ฉ์๋ ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ๊ตฌ์กฐ์ฒด๋ ํด๋์ค๋ก ์์ฑํ์๋๋ฐ ๋ค๋ฅธ๊ณณ์์ ๋ถ๋ฅด๋ คํ ๋ ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ง ์๊ณ ํจ์๋ฅผ ์ฐ๋ คํ ๋ ์ด๋ป๊ฒ ๊ตฌํํ๋์ง ๊ถ๊ธํ์ต๋๋ค. ๊ทธ๋ฌ๋ค ํ์ ๋ฉ์๋์ ๋ํด ์๊ฒ๋์์ต๋๋ค!! ์ฐ์ ํํ ์ ์๊ณ ์๋ ์ธ์คํด์ค ๋ฉ์๋์ ์์ฑ๊ณผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ณด๊ฒ ์ต๋๋ค. -. ์ธ์คํด์ค ๋ฉ์๋ class InstanceMethod { func instanceTest() -> String { return “test” } } var instanceMethod = InstanceMethod() print(instanceMethod.instanceTest()) ์ด๋ ๊ฒ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ์ธ์คํด์ค ๋ฉ์๋์ ์ฌ์ฉ์ ๋๋ค. ์ฆ, Ins..
-
Collection ViewiOS 2021. 1. 25. 18:07
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ Collection View (์ปฌ๋ ์ ๋ทฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ปฌ๋ ์ ๋ทฐ๋ ํ ์ด๋ธ ๋ทฐ์ ๋น์ทํ ๊ฐ๋ ์ผ๋ก ๋ฐ์ดํฐ๋ค์ ํํ๋ก ๋ํ๋ผ ์ ์๋ ๋ทฐ์ ๋๋ค. ๊ทธ๋ฌ๋ ํ ์ด๋ธ ๋ทฐ์๋ ์ฐจ์ด์ ๋ ์๊ณ ๊ณตํต์ ๋ ๋ง์ต๋๋ค. ์ปฌ๋ ์ ๋ทฐ์ ๋ํด ๋ ์์ธํ ์์๋ณด๋๋ก ํ์ฃ ! 1. ์ ์ ๋ฐ ํน์ง 1) ๋ฐ์ดํฐ (์์ดํ )์ ๊ทธ๋ฆฌ๋ ํํ๋ก ๋ํ๋ด๋ ๋ทฐ -. ๊ทธ๋ฆฌ๋๋? ๊ฒฉ์๋ฌด๋ฌ๋ผ๋ ์ฌ์ ์ ๋จ์ด์ ์๋ฏธ๋ก ํ์ ๊ฐ์ ํํ 2) ํ ์ด๋ธ ๋ทฐ์ ๋นํด ๋ฐ์ดํฐ ๋์ด์ด ํ๋ฆฌํ์ฌ ํ ์ด๋ธ ๋ทฐ๋ณด๋ค ๋ง์ ์์ดํ ์ ๋ณด์ฌ์ค๋ ์ ๋ฆฌํจ 3) ์ ์ฐํ๊ณ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ ์ด์์์ ์ฌ์ฉ 2. ๊ตฌ์ฑ : ์ปฌ๋ ์ ๋ทฐ์๋ ์๋ 3๊ฐ์ง ์์์ ๋ทฐ๋ก ๊ตฌ์ฑ๋จ 1) Supplementary View (๋ณด์ถฉ ๋ทฐ): Section Header, ..