Swift 17

[ Swift ] Swift๋ž€?

Swift Swift is a general-purpose programming language that's approachable for newcomers and powerful for experts. It is fast, modern, safe, and a joy to write.์œ„ ๊ธ€์€ Swift.org์—์„œ ๊ฐ€์žฅ ๋จผ์ € ๋ณผ ์ˆ˜ ์žˆ๋Š” Swift ์†Œ๊ฐœ๊ธ€์ด๋‹ค. Swift๋Š” ์ ‘๊ทผ์„ฑ์ด ์ข‹๊ณ  ๊ฐ•๋ ฅํ•œ ๋ฒ”์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ด๋ฉฐ, ๋น ๋ฅด๋ฉฐ ํ˜„๋Œ€์ ์ด๊ณ  ์•ˆ์ „ํ•˜์—ฌ ์ฆ๊ฒ๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. interactive programming languageSwift์—์„œ ๊ฐ•์กฐ๋˜๋Š” ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์ƒํ˜ธ์ž‘์šฉ์ด๋‹ค. ์ปดํŒŒ์ผ ์–ธ์–ด์ž„์—๋„, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ตœ์ ํ™”๋˜์–ด์žˆ์–ด ๋งˆ์น˜ ์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด์ฒ˜๋Ÿผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒํ˜ธ์ž‘์šฉํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•  ์ˆ˜ ์žˆ๋‹ค.์ปดํŒŒ์ผ..

Swift 2023.10.08

[ Swift ] zip(_:_:)

Documentation /Swift /Swift Standard Library /Collections /zip(_:_:) zip(_:_:) func zip( _ sequence1: Sequence1, _ sequence2: Sequence2 ) -> Zip2Sequence where Sequence1 : Sequence, Sequence2 : Sequence ๋‘ ๊ฐœ์˜ sequence๋กœ ๊ตฌ์„ฑํ•œ sequence ์Œ์„ ๋งŒ๋“œ๋Š” ํ•จ์ˆ˜์ด๋‹ค. Array, String, Range์ฒ˜๋Ÿผ Sequence ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒํ•œ ํƒ€์ž…์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์˜จ๋‹ค. ์ฆ‰, ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ํƒ€์ž…์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง„๋‹ค ํŠœํ”Œ sequence ๋ฐ˜ํ™˜ zip์„ ์‚ฌ์šฉํ•ด ๋‘ sequence๋ฅผ ํ•ฉ์น˜๋ฉด ๊ฐ ์›์†Œ๋“ค์ด ๋™์ผํ•œ ์ธ๋ฑ์Šค ์›์†Œ๋“ค๊ณผ ์ง์„ ์ง€์–ด ํŠœํ”Œ ํƒ€์ž…์˜ Z..

Swift 2023.10.08

[ Swift ] isCase | isLowercase | isUppercase

isCase ํ•ด๋‹น Character์˜ ๋Œ€์†Œ๋ฌธ์ž ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ์ด๋‹ค. String์ด ์•„๋‹ˆ๋ผ Character์˜ ์ธ์Šคํ„ด์Šค ํ”„๋กœํผํ‹ฐ๋ผ๋Š” ์ ์„ ์ฃผ์˜ํ•˜์ž. ๋Œ€์†Œ๋ฌธ์ž๊ฐ€ ์žˆ๋Š” ์˜์–ด๋Š” ture์ด์ง€๋งŒ ํ•œ๊ธ€, ์•„์ด์ฝ˜, ํŠน์ˆ˜๋ฌธ์ž ๋“ฑ์€ false์ด๋‹ค. let english = "a" let korean = "๊ฐ€" let icon = "๐Ÿงš๐Ÿป‍โ™€๏ธ" let half = "½" if english.first!.isCased { print(english) } // Prints "a" if korean.first!.isCased { print(korean) } if icon.first!.isCased { print(icon) } if half.first!.isCased { print(half) } isLowe..

Swift 2023.10.04

[ Swift ] print(_:separator:terminator:)

print(_:separator:terminator:) func print( _ items: Any..., separator: String = " ", terminator: String = "\n" ) ์ฃผ์–ด์ง„ ์•„์ดํ…œ์˜ ํ…์ŠคํŠธ ํ‘œํ˜„์„ ํ‘œ์ค€ ์ถœ๋ ฅํ•œ๋‹ค. items๋ฅผ ์ œ์™ธํ•œ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ธฐ๋ณธ๊ฐ’์ด ์„ค์ •๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ๊ฐ’์„ ์ „๋‹ฌํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. Items items์€ Any ํƒ€์ž…์œผ๋กœ, ํƒ€์ž…๊ณผ ์•„์ดํ…œ์˜ ๊ฐœ์ˆ˜์— ์ƒ๊ด€์—†์ด ํ…์ŠคํŠธ๋กœ ํ‘œํ˜„๋˜์–ด ์ถœ๋ ฅ๋œ๋‹ค. items๋Š” String(item)๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํƒ€์ž… ๋ณ€ํ™˜์„ ํ•ด์ฃผ์ง€ ์•Š์•„๋„ ๋œ๋‹ค let number: Int = 120 print(number) // Prints "120" seperator separator์€ ์—ฌ๋Ÿฌ ์•„์ดํ…œ์ด ์žˆ์„..

Swift 2023.10.04

[ Swift ] ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

Swift๋Š” ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ 2015๋…„ ํ”„๋กœํ† ์ฝœ Extension์ด ๋„์ž…๋œ Swift 2.0 ๋ฒ„์ „์ด ๋ฐœํ‘œ๋˜๋ฉฐ Apple์€ Swift๊ฐ€ ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ผ ์„ ์–ธํ–ˆ๋‹ค. ๋”ํ•ด ํ”„๋กœํ† ์ฝœ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ์ฐธ์กฐ ํƒ€์ž…์ธ ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ณด๋‹ค ๊ฐ’ ํƒ€์ž…์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ์˜ค๋ฅ˜๋ฅผ ์ค„์ผ ๋ฐฉ์•ˆ์ด๋ผ ์†Œ๊ฐœํ–ˆ๋‹ค. ์ด์ œ ์Šค์œ„ํ”„ํŠธ์—์„œ๋Š” ํด๋ž˜์Šค์—์„œ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ๊ตฌ์กฐ์ฒด์™€ ์—ด๊ฑฐํ˜•์— ์บก์Šํ™”, ์ถ”์ƒํ™”, ์ ‘๊ทผ ์ œ์–ด ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฐธ์กฐ ํƒ€์ž…์˜ ์ฐธ์กฐ ๋ฌธ์ œ์—์„œ ๋” ์ž์œ ๋กœ์šธ ์ˆ˜ ์žˆ๊ณ  ๋‹ค์ค‘์ƒ์†๊ณผ ๋” ๋‚˜์€ ์ถ”์ƒํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๊ตฌํ˜„ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ํ”„๋กœํ† ์ฝœ ํ”„๋กœํ† ์ฝœ์ด๋ž€ ํŠน์ • ์ž‘์—…์— ๋งž๋Š” ๋ฉ”์„œ๋“œ์™€ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ •์˜ํ•˜๋Š” ์ฒญ์‚ฌ์ง„์ด๋‹ค. ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค๋งŒ ์ƒ์†ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ํ”„๋กœํ† ์ฝœ์€ ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•์ด..

Swift 2023.09.24

[ Swift ] Serialization์ด๋ž€?

๊ฒ€์ƒ‰์„ ํ†ตํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ถ€์ •ํ™•ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์ถ”ํ›„ ์ถ”๊ฐ€ ๊ณต๋ถ€๋ฅผ ํ†ตํ•ด ๋‚ด์šฉ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. Serialization์ด๋ž€? Serializtion์„ ๋ฒˆ์—ญํ•˜๋ฉด '์ง๋ ฌํ™”'์ด๋‹ค. ์ง๋ ฌํ™”๋ž€ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜์ž๋ฉด ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. ์ด ํ˜•ํƒœ๊ฐ€ ์ง๋ ฌ์ (์‹œ๊ฐ„ ์ˆœ์ฐจ์ )์ด๋ผ ์ง๋ ฌํ™”ํ•œ๋‹ค๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ์กฐ๊ธˆ ๋” ๊ธธ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋˜๋Š” ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์ถ”ํ›„์— ์ €์žฅ๋  ์ˆ˜ ์žˆ๊ฑฐ๋‚˜ ์ „์†ก๋  ์ˆ˜ ์žˆ๋Š”, ๋˜๋Š” ์žฌ๊ตฌ์„ฑ๋  ์ˆ˜ ์žˆ๋Š” ํ˜•์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค. ์ด์— ๋ฐ˜๋Œ€๋˜๋Š” ๊ฐœ๋…์€ Deserialization์ด๋‹ค. ๋ฒˆ์—ญํ•˜๋ฉด '์—ญ์ง๋ ฌํ™”'๋กœ, ์–ด๋– ํ•œ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜๋œ ๊ฒƒ์„ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. Serialization์˜ ์˜ˆ์‹œ๋ฅผ ๋ณด๋ฉด ์กฐ๊ธˆ ๋” ์™€๋‹ฟ๋Š”๋‹ค. ์•ฑ ..

Swift 2023.01.18

[ Swift ] ์˜ต์…”๋„ Optionals

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์˜ต์…”๋„ Optionals ์˜ต์…”๋„์ด๋ž€? ์˜ต์…”๋„ ์ถ”์ถœ ์Šค์œ„ํ”„ํŠธ์˜ ๋ชฉํ‘œ์— ๋งž๋Š” ์˜ต์…”๋„ ์‚ฌ์šฉ 1. ์˜ต์…”๋„์ด๋ž€? ์˜ต์…”๋„ Optionals : ์„ ํƒ ์‚ฌํ•ญ. ๊ฐ’์ด ์žˆ์„ ์ˆ˜๋„, ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ฆ‰, ๋ณ€์ˆ˜ ๋˜๋Š” ์ƒ์ˆ˜์˜ ๊ฐ’์ด nil(NULL)์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ์˜ ์–ธ์–ด์  ํŠน์ง• ์ค‘ ํ•˜๋‚˜์ธ 'Safe- ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€ํ–ฅ'์„ ๋ณด์ฆํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ์Šค์œ„ํ”„ํŠธ๋Š” ์—„๊ฒฉํ•œ ๋ฌธ๋ฒ•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ, ๋”ฐ๋ผ์„œ ์˜ต์…”๋„ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‘˜์„ ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. (์ปดํŒŒ์ผ ์˜ค๋ฅ˜) ๋ฐ์ดํ„ฐํƒ€์ž…? ๋˜๋Š” Optional ์˜ต์…”๋„ ์ฃผ ์‚ฌ์šฉ ๋ชฉ์  nil ๊ฐ’์„ ๋Œ€์ž…ํ•ด์•ผ ํ•  ๋•Œ ์ดˆ๊นƒ๊ฐ’์ด ์—†์–ด ์–ด๋–ค ๊ฐ’์ด ๋“ค์–ด๊ฐˆ์ง€ ๋ชจ๋ฅผ ๋•Œ ์ „๋‹ฌ์ธ์ž์˜ ๊ฐ’์ด ์ž˜๋ชป๋œ ๊ฐ’์ผ ๊ฒฝ์šฐ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ–ˆ์Œ์„ nil๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ถˆํ•„์š” ์˜..

Swift 2021.09.05

[ Swift ] ํ•จ์ˆ˜

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ•จ์ˆ˜ ํ•จ์ˆ˜๋ž€? ํ•จ์ˆ˜์˜ ์ •์˜์™€ ํ˜ธ์ถœ ์ผ๊ธ‰ ๊ฐ์ฒด, ํ•จ์ˆ˜ ์ค‘์ฒฉ ํ•จ์ˆ˜ ์ข…๋ฃŒ๋˜์ง€ ์•Š๋Š” ํ•จ์ˆ˜ ๋ฐ˜ํ™˜ ๊ฐ’์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ 1. ํ•จ์ˆ˜๋ž€? ํ•จ์ˆ˜๋Š” ์ž‘์—…์˜ ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์ด์ž ํ•˜๋‚˜์˜ ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ์˜ ํ•จ์ˆ˜๋Š” ์ผ๊ธ‰ ๊ฐ์ฒด์ด๋‹ค. ๋”ฐ๋ผ์„œ ํ•จ์ˆ˜๋ฅผ ๋‹ค๋ฅธ ๊ฐ’๋“ค์ฒ˜๋Ÿผ ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์Šค์œ„ํ”„ํŠธ์—์„œ ํ•จ์ˆ˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋ณด๋‹ค ์ž์œ ๋„๊ฐ€ ๋†’๋‹ค. ์Šค์œ„ํ”„ํŠธ์˜ ํ•จ์ˆ˜๋Š” ์žฌ์ •์˜(์˜ค๋ฒ„๋ผ์ด๋“œ, override)์™€ ์ค‘๋ณต ์ •์˜(์˜ค๋ฒ„๋กœ๋“œ, overload)๋ฅผ ์ง€์›ํ•œ๋‹ค. ์˜ค๋ฒ„๋ผ์ด๋“œ override ์žฌ์ •์˜ ์ž์‹ ํด๋ž˜์Šค๊ฐ€ ๋ถ€๋ชจํด๋ž˜์Šค์— ์˜ํ•ด ์ œ๊ณต๋œ ๋ฉ”์„œ๋“œ๋ฅผ ํŠน์ •ํ•œ ํ˜•ํƒœ๋กœ ๋‹ค์‹œ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ค๋ฒ„๋กœ๋“œ overload ์ค‘๋ณต ์ •์˜ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ด๋ฆ„๊ณผ ํƒ€์ž…, ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๋‹ค๋ฉด ๊ฐ™์€ ์ด๋ฆ„์œผ..

Swift 2021.09.02

[ Swift ] ํ๋ฆ„ ์ œ์–ด(2) - ๋ฐ˜๋ณต๋ฌธ ( for-in ๊ตฌ๋ฌธ, while ๊ตฌ๋ฌธ )

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ๋ฆ„์ œ์–ด(2) - ๋ฐ˜๋ณต๋ฌธ for-in ๊ตฌ๋ฌธ while ๊ตฌ๋ฌธ repeat-while ๊ตฌ๋ฌธ ๊ตฌ๋ฌธ ์ด๋ฆ„ํ‘œ 1. for-in ๊ตฌ๋ฌธ ํŠน์ • ๊ตฌ๋ฌธ์„ ํŠน์ • ํšŸ์ˆ˜๋งŒํผ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ๋ฐ˜๋ณตํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์„ ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. continue, break ๋“ฑ์˜ ์ œ์–ด ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. for-in ๊ตฌ๋ฌธ์€ ์Šค์œ„ํ”„ํŠธ์˜ ๊ธฐ๋ณธ Collection Type์ธ ๋ฐฐ์—ด, ๋”•์…”๋„ˆ๋ฆฌ, ์„ธํŠธ์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค. ์—ฌ๊ธฐ์„œ ๋”•์…”๋„ˆ๋ฆฌ๋Š” ํ‚ค์™€ ๊ฐ’์˜ ์Œ์ด๊ธฐ ๋•Œ๋ฌธ์— ์‹œํ€€์Šค ์•„์ดํ…œ์—์„œ ์ž„์‹œ ์ƒ์ˆ˜๋กœ ์š”์†Œ๊ฐ€ ๋„˜์–ด๊ฐˆ ๋•Œ ํŠœํ”Œ๋กœ ์ „๋‹ฌ๋œ๋‹ค. swift ๋ฌธ๋ฒ•์„ ๋” ๊ณต๋ถ€ํ•˜๋‹ค๋ณด๋ฉด for-in ๊ตฌ๋ฌธ๋ณด๋‹ค map, filter, flatMap ๋“ฑ์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•  ๊ฒƒ์ด๋‹ค. ์‹œํ€€์Šค ์•„์ดํ…œ์„ ๋‹ด์„ ์ž„์‹œ ์ƒ์ˆ˜๊ฐ€ ํ•„์š”..

Swift 2021.08.27

[ Swift ] ํ๋ฆ„ ์ œ์–ด(1) - ์กฐ๊ฑด๋ฌธ ( if ๊ตฌ๋ฌธ, switch ๊ตฌ๋ฌธ )

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ํ๋ฆ„ ์ œ์–ด(1) - ์กฐ๊ฑด๋ฌธ if ๊ตฌ๋ฌธ switch ๊ตฌ๋ฌธ 1. if ๊ตฌ๋ฌธ ์Šค์œ„ํ”„ํŠธ์˜ if ๊ตฌ๋ฌธ์€ ์กฐ๊ฑด์˜ ๊ฐ’์ด ๊ผญ Bool ํƒ€์ž…์ด์–ด์•ผ ํ•œ๋‹ค. ํ•œ ์กฐ๊ฑด๋ฌธ์„ ์ถฉ์กฑํ•ด ๋ธ”๋ก ๋‚ด๋ถ€์˜ ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰๋˜๋ฉด, ์ด์–ด์ง„ else if ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋”๋ผ๋„ ์‹คํ–‰๋˜์ง€ ์•Š๊ณ  ์กฐ๊ฑด๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค. (์†Œ๊ด„ํ˜ธ)์— ์กฐ๊ฑด์‹์„ ์ ๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ์ด์ง€๋งŒ ์†Œ๊ด„ํ˜ธ๋ฅผ ์ƒ๋žตํ•ด๋„ ๋œ๋‹ค. var num1: Int = 5 var num2: Int = 5 if num1 >= num2 { print("num1์ด num2 ์ด์ƒ์ด๋‹ค.") } else if num1 == num2 { //์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋”๋ผ๋„ ์ด๋ฏธ ์•ž์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜์—ฌ ๋ธ”๋ก ๋‚ด๋ถ€ ๋ช…๋ น๋ฌธ์ด ์‹คํ–‰๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ฑด๋ฌธ์„ ๋น ์ ธ๋‚˜์˜จ๋‹ค. print("num1์ด num2๊ณผ ๊ฐ™๋‹ค.") } ..

Swift 2021.08.18

[ SWIFT ] ์—ฐ์‚ฐ์ž - ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž, ๋น„๊ต ์—ฐ์‚ฐ์ž, ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž, ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž, nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž, ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ž

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์—ฐ์‚ฐ์ž ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ๋น„๊ต ์—ฐ์‚ฐ์ž ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž ๋ฒ”์œ„ ์—ฐ์‚ฐ์ž nil ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž ๋ถ€ํ˜ธ ๋ณ€๊ฒฝ ์—ฐ์‚ฐ์ž ๋“ค์–ด๊ฐ€๊ธฐ ์ „, ์Šค์œ„ํ”„ํŠธ๋Š” ๋„์–ด์“ฐ๊ธฐ๋„ ์ค‘์š”ํ•œ ๋ฌธ๋ฒ• ์œผ๋กœ, ์—ฐ์‚ฐ์ž๋ฅผ ๊ณต๋ถ€ํ•  ๋•Œ ๊ณต๋ฐฑ์˜ ์œ„์น˜๋ฅผ ํ™•์ธํ•˜๋ฉฐ ๊ณต๋ถ€ํ•ด์•ผ ํ•œ๋‹ค. ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž ์Šค์œ„ํ”„ํŠธ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ๊ต‰์žฅํžˆ ์—„๊ฒฉํ•˜๋ฏ€๋กœ ์„œ๋กœ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•๋ผ๋ฆฌ์˜ ์—ฐ์‚ฐ์„ ์—„๊ฒฉํžˆ ์ œํ•œํ•œ๋‹ค. ์—ฐ์‚ฐ์ž ์˜ˆ์‹œ + 5 + 3 = 8 - 5 - 3 = 2 * 5 * 3 = 15 / ๋ชซ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. 5 / 3 = 1 % ๋‚˜๋จธ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ •์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ๋ถ€๋™์†Œ์ˆ˜์ ์€ '%' ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹ˆ๋ผ 'truncatingRemainder' ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 5 % 3 = 2 let number: Double = 5.0 var result: Double = number.tru..

Swift 2021.08.13

[ SWIFT ] ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰(3) - ์—ด๊ฑฐํ˜•

๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํƒ€์ž… ๊ณ ๊ธ‰(3) ์—ด๊ฑฐํ˜• ๊ธฐ๋ณธ ์—ด๊ฑฐํ˜• ์›์‹œ ๊ฐ’ ์—ฐ๊ด€ ๊ฐ’ ํ•ญ๋ชฉ ์ˆœํšŒ ์ˆœํ™˜ ์—ด๊ฑฐํ˜• ๋น„๊ต ๊ฐ€๋Šฅํ•œ ์—ด๊ฑฐํ˜• 1. ์—ด๊ฑฐํ˜• : ์—ฐ๊ด€๋œ ํ•ญ๋ชฉ๋“ค์„ ๋ฌถ์–ด์„œ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…. ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ •์˜ํ•ด์ค€ ํ•ญ๋ชฉ ๊ฐ’ ์™ธ์—๋Š” ์ถ”๊ฐ€/์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅ ์Šค์œ„ํ”„ํŠธ์˜ ์—ด๊ฑฐํ˜•์€ ๊ฐ ํ•ญ๋ชฉ์ด ๊ทธ ์ž์ฒด๋กœ ๊ณ ์œ ์˜ ๊ฐ’์ด ๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ญ๋ชฉ๋ณ„ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฐ€์ง€์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์€ ์›์‹œ ๊ฐ’(Raw Value), ์ฆ‰ ์‹ค์ œ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์€ ์—ฐ๊ด€ ๊ฐ’(Assosiated Value)๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ’์˜ ๋ฌถ์Œ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฃผ๋กœ switch๋ฌธ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ์šฉ๋„ ์ •ํ•ด์ง„ ์„ ํƒ์ง€๋ฅผ ์ฃผ๊ณ  ์‹ถ์„ ๋•Œ ์ •ํ•ด์ง„ ๊ฐ’ ์™ธ์—๋Š” ์ž…๋ ฅ๋ฐ›๊ณ  ์‹ถ์ง€ ์•Š์„ ๋•Œ ์˜ˆ์ƒ๋œ ์ž…๋ ฅ ๊ฐ’์ด ํ•œ์ •๋˜์–ด ์žˆ์„ ๋•Œ 2. ๊ธฐ๋ณธ ์—ด๊ฑฐํ˜• e..

Swift 2021.07.30
728x90