Swift08 - ๊ฐ ํ์ vs ์ฐธ์กฐํ์ ๊ฐ ํ์ (Value Type) ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌ ํ ๋ ๊ฐ์ ๋ณต์ฌํ์ฌ ์ ๋ฌํฉ๋๋ค. ๊ตฌ์กฐ์ฒด ์ด๊ฑฐํ ๊ฐ ํ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฐ๊ด๋ ๋ช๋ช์ ๊ฐ๋ค์ ๋ชจ์์ ํ๋์ ๋ฐ์ดํฐ ํ์ ์ผ๋ก ํํํ๊ณ ์ถ์ ๊ฒฝ์ฐ ๋ค๋ฅธ ๊ฐ์ฒด ๋๋ ํจ์ ๋ฑ์ผ๋ก ์ ๋ฌ๋ ๋ ์ฐธ์กฐ๊ฐ ์๋๋ผ ๋ณต์ฌ(๊ฐ ๋ณต์ฌ) ํ ๊ฒฝ์ฐ ์์ ์ ์์ํ ํ์๊ฐ ์๊ฑฐ๋, ๋ค๋ฅธ ํ์ ์ ์์ ๋ฐ์ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ ์ค์ํํธ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ์ ๋ชจ๋ ๊ตฌ์กฐ์ฒด๋ก ๊ตฌํ๋์ด์์ต๋๋ค. ์ค์์คํธ๋ ๊ตฌ์กฐ์ฒด์ ์ด๊ฑฐํ ์ฌ์ฉ์ ์ ํธํฉ๋๋ค. struct ValueType { var property = 1 } // ์ฒซ ๋ฒ์งธ ๊ตฌ์กฐ์ฒด ์ธ์คํด์ค let firstStructInstance = ValueType() // ๋ ๋ฒ์งธ ๊ตฌ์กฐ์ฒด ์ธ์คํด์ค์ ์ฒซ ๋ฒ์งธ ์ธ์คํด์ค ๊ฐ ๋ณต์ฌ var secondStructInsta.. 2021. 2. 1. Switf07 - ๊ตฌ์กฐ์ฒด vs ํด๋์ค vs ์ด๊ฑฐํ ํด๋์ค - ๋จ์ผ์์ - ํ๋กํผํฐ, ๋ฉ์๋ ๊ฐ๋๋ค - ์ฐธ์กฐํ์ - appleํ๋ ์์ํฌ์ ๋๋ถ๋ถ์ ํฐ ๋ผ๋๋ ๋ชจ๋ ํด๋์ค๋ก ๊ตฌ์ฑ ๊ตฌ์กฐ์ฒด - ๋ค๋ฅธ ์ธ์ด์ ๊ตฌ์กฐ์ฒด๋ณด๋ค ๋ค์ํ ๊ธฐ๋ฅ์ ๊ฐ๋๋ค - ์์ ๋ถ๊ฐ - ํ๋กํผํฐ, ๋ฉ์๋ ๊ฐ๋๋ค - ๊ฐ ํ์ - swift์ ๋๋ถ๋ถ์ ํฐ ๋ผ๋๋ ๊ตฌ์กฐ์ฒด๋ก ๊ตฌ์ฑ๋์ด ์๋ค ์ด๊ฑฐํ - ์์๋ถ๊ฐ - ์ด๊ฑฐํ ์์ฒด๊ฐ ํ๋์ ๊ฐ ํ์ - ์ด๊ฑฐํ case ํ๋ํ๋๊ฐ ์ ์๋ฏธํ ๊ฐ - ๊ฐํ์ 2021. 2. 1. Swift-06 ์ด๊ฑฐํ Enumerations An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code. ์ด๊ฑฐํ์ด๋? - ์ ์ฌํ ์ข ๋ฅ์ ์ฌ๋ฌ ๊ฐ์ ํ ๊ณณ์ ๋ชจ์์ ์ ์ํ ๊ฒ. - enum ์์ฒด๊ฐ ํ๋์ ๋ฐ์ดํฐ ํ์ - ๋๋ฌธ์ ์นด๋ฉ์ผ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฆ์ ์ ์. - ๊ฐ case๋ ๊ทธ ์์ฒด๊ฐ ๊ณ ์ ์ ๊ฐ์ ๋๋ค.(๊ฐ case์ ์๋์ผ๋ก ์ ์๊ฐ์ด ํ ๋น๋์ง ์์) - ๊ฐ case๋ ์๋ฌธ์ ์นด๋ฉ์ผ์ด์ค๋ก ์ ์ - ๊ฐ case๋ ํ ์ค์ ๊ฐ๋ณ๋ก๋, ํ ์ค์ ์ฌ๋ฌ๊ฐ๋ ์ ์ํ ์ ์์ต๋๋ค. enum Weekday { case mon case tue.. 2021. 2. 1. Swift-05 ๊ตฌ์กฐ์ฒด, ํด๋์ค ๊ตฌ์กฐ์ฒด๋ - ์๋ก์ด ๋ฐ์ดํฐ ํ์ ์ ์ ์ - ๊ตฌ์กฐ์ฒด ๋ด๋ถ์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํด ํ๋กํผํฐ๋ฅผ ์ ์ - ๊ตฌ์กฐ์ฒด ๋ด๋ถ์์ ๊ธฐ๋ฅ ์คํ์ ์ํด ๋ฉ์๋๋ฅผ ์ ์ - ๊ฐ ํ์ : ๊ตฌ์กฐ์ฒด๋ก ์ ์ํ ํ์ ์ ๊ฐ์ด ์ ๋ฌ๋ ๋๋ ํด๋น ๊ฐ์ด ๋ณต์ฌ๋์ด ์ ๋ฌ๋๋ค - ์ด๋์ ๋ผ์ด์ ์ ์ ๊ฐ๋ฅ - ์์ ๋ถ๊ฐ๋ฅ, ํ์ ์บ์คํ ๋ถ๊ฐ๋ฅ, ๋์ด๋์ ๋ผ์ด์ ๋ถ๊ฐ๋ฅ ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ - ์ฐ๊ด๋ ๊ฐ๋จํ ๊ฐ์ ์งํฉ์ ์บก์ํํ๋ ๊ฒ์ด ๋ชฉ์ ์ผ ๋ - ์บก์ํํ ๊ฐ์ ์ฐธ์กฐํ๋ ๊ฒ๋ณด๋ค ๋ณต์ฌํ๋ ๊ฒ์ด ํฉ๋นํ ๋ - ๊ตฌ์กฐ์ฒด์ ์ ์ฅ๋ ํ๋กํผํฐ๊ฐ ๊ฐ ํ์ ์ด๊ณ ์ฐธ์กฐ๋ณด๋ค ๋ณต์ฌํ๋ ๊ฒ์ด ํฉ๋นํ ๋ - ๋ค๋ฅธ ํ์ ์ผ๋ก๋ถํฐ ์์๋ฐ๊ฑฐ๋ ์์ ์ ์์ํ ํ์๊ฐ ์์ ๋ ๊ตฌ์กฐ์ฒด ๋ฌธ๋ฒ ๊ตฌ์กฐ์ฒด ํ๋กํผํฐ ๋ฐ ๋ฉ์๋ ๊ตฌํ struct Sample { // ๊ฐ๋ณ ํ๋กํผํฐ(๊ฐ ๋ณ๊ฒฝ ๊ฐ๋ฅ) var m.. 2021. 1. 31. viewController life cycle โ ์ดํ๋ฆฌ์ผ์ด์ ์ด ์คํํ๋ฉด์ ViewController๋ค์ด ๋ง๋ค์ด์ง๊ณ ์ฌ๋ผ์ง๋ฉฐ ํ๋ฉด์ ๋์ฐ๊ณ ๋ด๋ฆฌ๋ ์์ ์ ํ๋๋ฐ, ์ด๋ฌํ ๊ณผ์ ๋ค์ event์ ์ํด ๋ฉ์๋๊ฐ ํธ์ถ๋ฉ๋๋ค. โ โ Init() storyboard๋ฅผ ํตํด View Controller๋ค์ ๋ง๋ค ๊ฒฝ์ฐ ViewController ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์ด๊ธฐํ ์์ ์ ํฉ๋๋ค. ์ด๋ ์ฌ์ฉํ๋ ๋ฉ์๋๊ฐ init() ์ ๋๋ค. ๊ฐ์ฒด๋ฅผ Byte Stream์ผ๋ก ๋ฐ๊พธ์ด ๋์คํฌ์ ์ ์ฅํ๊ฑฐ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ์ ์กํ๋ ์ง๋ ฌํ ์์ ์ ํ์ง ์๋ ์ด์ ๋งค๊ฐ๋ณ์๋ก ๋์ด์ค๋ NSCoder ๋ ๋ฌด์ํ์ ๋ ๋ฌด๋ฐฉํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ๋ง์ฝ View ๋ด์ ์์๋ฅผ ์ ๊ทผํ๋ค๋ฉด ์ด๋ ์์ง ์์ฑ๋๊ธฐ ์ ์ํ์ด๊ธฐ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค. โ ์ด์ธ์๋ init(nibName: bundle:) ์ด ์กด์ฌํฉ๋.. 2021. 1. 27. Swfit-04 Optional Optional - ๊ฐ์ด ์์ ์๋, ์์ ์๋ ์์ - nil ํ ๋น ๊ฐ๋ฅ - ๊ธฐ๋ณธ ๋ณ์์ฒ๋ผ ์ฌ์ฉ๋ถ๊ฐ : ์ต์ ๋๊ณผ ์ผ๋ฐ ๊ฐ์ ๋ค๋ฅธ ํ์ ์ด๋ฏ๋ก ์ฐ์ฐ๋ถ๊ฐ - Optional ์ข ๋ฅ : ? (Optional), ! (Implicitly Unwrapped Optional) Optional์ด ํ์ํ ์ด์ - nil์ ๊ฐ๋ฅ์ฑ์ ์ฝ๋์์์ ๋ช ์์ ์ผ๋ก ํํ - ์ต์ ๋์ด ์๋ ์์์๋ nil ํ ๋น ๋ถ๊ฐ๋ฅ -> ์ ๋ฌ๋ฐ์ ๊ฐ์ด ์ต์ ๋์ด ์๋๋ผ๋ฉด nil์ฒดํฌ๋ฅผ ํ์ง ์๋๋ผ๋ ์์ฌํ๊ณ ์ฌ์ฉ -> ์์ธ ์ํฉ์ ์ต์ํํ๋ ์์ ํ ์ฝ๋ฉ // someOptionalParm์ nil์ด ํ ๋น ๋ ์ ์๋ค. func someFunction(someOptionalParam: Int?) { // .... } // someParm์ nil์ด ํ ๋น .. 2021. 1. 26. ์ด์ 1 ยทยทยท 9 10 11 12 13 ๋ค์