๋ฐ์ํ โจ๏ธ Language/swift251 [Swift] ์๋ธ์คํฌ๋ฆฝํธ ์๋ธ์คํฌ๋ฆฝํธ(Subscripts)ํด๋์ค, ๊ตฌ์กฐ์ฒด, ๊ทธ๋ฆฌ๊ณ ์ด๊ฑฐํ์์ ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ํด ์ฌ์ฉ ๊ฐ๋ฅ์ฝ๋ ์ , ๋ฆฌ์คํธ, ์ํ์ค ๋ฑ ์งํฉ์ ํน์ ๋ฉค๋ฒ ์๋ฆฌ๋จผํธ์ ๊ฐ๋จํ๊ฒ ์ ๊ทผ ํ ์ ์๋ ๋ฌธ๋ฒ์ถ๊ฐ์ ์ธ ๋ฉ์๋ ์์ด ํน์ ๊ฐ์ ํ ๋นํ๊ฑฐ๋ ๊ฐ์ ธ์ฌ ์ ์์ํ๋์ ํ์ ์ ์ฌ๋ฌ ์๋ธ์คํฌ๋ฆฝํธ๋ฅผ ์ ์ํ ์ ์๊ณ ์ค๋ฒ๋ก๋(Overload)๋ ๊ฐ๋ฅ๋จ์ผ ์ธ์ ๊ฐ์ ๋์ด, ํ์์ ๋ฐ๋ผ ๋ณต์ ์ธ์ ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅ์๋ธ์คํฌ๋ฆฝํธ ๋ฌธ๋ฒ (Subscript Syntax)์๋ธ์คํฌ๋ฆฝํธ๋ ์ฝ๊ณ -์ฐ๊ธฐ(read-write) ํน์ ์ฝ๊ธฐ ์ ์ฉ(read only)๋ง ๊ฐ๋ฅsetter, getter ๋ฐฉ์์ ๋ฐ๋ฆsubscript(index: Int) -> Int { get { // ์ ์ ํ ๋ฐํ ๊ฐ } set(newValue) { .. 2024. 3. 22. [Swift] ๋ฉ์๋ ๋ฉ์๋(Methods)ํน์ ํ์ ์ ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ๊ณผ ๊ด๋ จ๋ ํจ์ ์ธ์คํด์ค ๋ฉ์๋ (Instance Methods)ํน์ ํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ์ ์ธ์คํด์ค์ ์ํ ๋ฉ์๋์ธ์คํด์ค ๋ด์ ๊ฐ์ ์ ์ดํ๊ฑฐ๋ ๋ณ๊ฒฝ ๊ฐ๋ฅ์ธ์คํด์ค๊ฐ ์ํ ํน์ ํ์ ์ ์ธ์คํด์ค์์๋ง ์คํ ๊ฐ๋ฅclass Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 }}let counter = Counter()// ์ด๊ธฐ count ๊ฐ์ 0์ ๋๋ค.counter.increment()// co.. 2024. 3. 21. [Swift] ํ๋กํผํฐ ์ ์ฅ ํ๋กํผํฐ๊ณ์ฐ ํ๋กํผํฐ๊ฐ์ ์ ์ฅํ๊ณ ์๋ ํ๋กํผํฐ๊ฐ์ ์ ์ฅํ๊ณ ์์ง ์๊ณ ํน์ ํ๊ฒ ๊ณ์ฐํ ๊ฐ์ ๋ฐํํด ์ฃผ๋ ํ๋กํผํฐํด๋์ค์ ๊ตฌ์กฐ์ฒด์์๋ง ์ฌ์ฉ ๊ฐ๋ฅํด๋์ค, ๊ตฌ์กฐ์ฒด, ์ด๊ฑฐํ ๋ชจ๋์์ ์ฌ์ฉ๊ฐ๋ฅ์ ์ฅ ํ๋กํผํฐletํค์๋๋ฅผ ์ด์ฉํด์ ์์ ํน์ varํค์๋๋ฅผ ์ด์ฉํด์ ๋ณ์๋ก ์ ์ธํด ์ฌ์ฉstruct FixedLengthRange { var firstValue: Int let length: Int}var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)// ๋ฒ์ ๊ฐ์ 0, 1, 2 ์ ๋๋ค.rangeOfThreeItems.firstValue = 6// ๋ฒ์ ๊ฐ์ 6, 7, 8 ์ ๋๋ค. ์์ ๊ตฌ์กฐ์ฒด ์ธ์คํด์ค์ ์ ์ฅ ํ๋กํผํฐ๊ตฌ์กฐ์ฒด๋ฅผ ์์(let)๋ก .. 2024. 3. 20. [Swift] ํด๋์ค์ ๊ตฌ์กฐ์ฒด ํด๋์ค VS ๊ตฌ์กฐ์ฒด๊ณตํต์ ๊ฐ์ ์ ์ฅํ๊ธฐ ์ํ ํ๋กํผํฐ ์ ์๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ๋ฉ์๋ ์ ์ subscript ๋ฌธ๋ฒ์ ์ด์ฉํด ํน์ ๊ฐ์ ์ ๊ทผํ ์ ์๋ subscript ์ ์์ด๊ธฐ ์ํ๋ฅผ ์ค์ ํ ์ ์๋ initializer ์ ์๊ธฐ๋ณธ ๊ตฌํ์์ ๊ธฐ๋ฅ ํ์ฅํน์ ํ ์ข ๋ฅ์ ํ์ค ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํ ํ๋กํ ์ฝ ์์(conform)์ฐจ์ด์ (ํด๋์ค๋ง ๊ฐ๋ฅ)์์ (Inheritance): ํด๋์ค์ ์ฌ๋ฌ ์์ฑ์ ๋ค๋ฅธ ํด๋์ค์ ๋ฌผ๋ ค ์คํ์ ์บ์คํ (Type casting): ๋ฐํ์์ ํด๋์ค ์ธ์คํด์ค์ ํ์ ์ ํ์ธ์๋ฉธ์ (Deinitializers): ํ ๋น๋ ์์์ ํด์ (free up) ์ํด์ฐธ์กฐ ์นด์ดํธ (Reference counting): ํด๋์ค ์ธ์คํด์ค์ ํ๋ ์ด์์ ์ฐธ์กฐ๊ฐ ๊ฐ๋ฅ๊ตฌ์กฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ฃผ ๋ชฉ์ ์ด ๊ด๊ณ๋ ๊ฐ๋จํ ๊ฐ.. 2024. 3. 19. [Swift] ํด๋ก์ ํด๋ก์ (Closures)์ด๋ค ์์๋ ๋ณ์์ ์ฐธ์กฐ๋ฅผ ์บก์ฒ(๊ฐ์ ์ฐธ์กฐ๋ฅผ ๊ฐ๋๋ค.)ํด ์ ์ฅํ ์ ์๋ ์ฝ๋ ๋ธ๋ญSwift๋ ๊ด๋ จ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์์ ์ฒ๋ฆฌ ํด๋ก์ ์ ํํ์ ์ญ ํจ์ : ์ด๋ฆ์ด ์๊ณ ์ด๋ค ๊ฐ๋ ์บก์ฒํ์ง ์๋ ํด๋ก์ ์ค์ฒฉ ํจ์ : ์ด๋ฆ์ด ์๊ณ ๊ด๋ จํ ํจ์(ํ์→์์)๋ก ๋ถํฐ ๊ฐ์ ์บก์ฒ ํ ์ ์๋ ํด๋ก์ ํด๋ก์ ํํ : ๊ฒฝ๋ํ ๋ ๋ฌธ๋ฒ์ผ๋ก ์ฐ์ฌ์ง๊ณ ๊ด๋ จ๋ ๋ฌธ๋งฅ(context)์ผ๋ก๋ถํฐ ๊ฐ์ ์บก์ณํ ์ ์๋ ์ด๋ฆ์ด ์๋ ํด๋ก์ ํด๋ก์ ํํ (Closure Expressions)์ธ๋ผ์ธ ํด๋ก์ ๋ฅผ ๋ช ํํ๊ฒ ํํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ๋ฒ์ ์ด์ ์ด ๋ง์ถฐ์ ธ์์์ฝ๋์ ๋ช ํ์ฑ๊ณผ ์๋๋ฅผ ์์ง ์์ผ๋ฉด์๋ ๋ฌธ๋ฒ์ ์ถ์ฝํด ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ๋ฌธ๋ฒ์ ์ต์ ํ ๋ฐฉ๋ฒ์ ์ ๊ณต ์ ๋ ฌ ๋ฉ์๋(The Sorted Method)Swift ํ์ค ๋ผ์ด๋ธ.. 2024. 3. 18. [Swift] ์์ธ ์ฒ๋ฆฌ์ ํจ์ 1. ์์ธ ์ฒ๋ฆฌ์ค๋ฅ ์ฒ๋ฆฌ์ ๊ฐ๋ ํ๋ก๊ทธ๋จ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋, ์ด๋ฅผ ๊ฐ์งํ๊ณ ๋ณต๊ตฌํ๋ ํ๋ก์ธ์ค๋ชจ๋ ํ๋ก๊ทธ๋จ์ด ํญ์ ์ํ๋๋๋ก ์ ํํ ๋์ํ๋ค๋ ๋ณด์ฅ์ด ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์์์ ํญ์ ๊ณ ๋ คํด์ผ ํจguardguard ์กฐ๊ฑด else {์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๋ ์คํ๋ ๊ตฌ๋ฌธ}// someValue ๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ์๋ง ์ถ๋ ฅguard someValue != 0 else { return }print(someValue)์กฐ๊ฑด๋ค์ ๊ฑธ๋ฌ๋ผ ๋ ์ฌ์ฉ๊ฐ๋ ์ฑ์ ์ํด ์ฌ์ฉ์กฐ๊ฑด์์ ์ด ํจ์๊ฐ ์ํํ๋๋ฐ ํ์ํ ์กฐ๊ฑด์ ๊ทธ๋๋ก ์ ๋๋ค๋ ์ ์์ guard ๊ตฌ๋ฌธ์ด ์ฝ๋๋ฅผ ๋ถ์ํ ๋ ๊ฐ๋ ์ฑ์ด ์ข์์งfunc printMessage(_ message: String?) { if message == nil { return } print(.. 2024. 3. 17. ์ด์ 1 2 3 4 5 6 ยทยทยท 42 ๋ค์ ๋ฐ์ํ