Swift ๋ฌธ๋ฒ
-
ํจ์Swift 2020. 11. 2. 11:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ํํธ์์์ ํจ์์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฝ๋ฉ์ ํ๋ฉฐ ๊ฐ์ฅ ๋ง์ด ์ ํ๊ณ ์์ฑํ๊ฒ๋๋๊ฒ์ด ํจ์์ ๋๋ค. ํจ์๋ ๋๋ถ๋ถ์ ์์ ์ ๊ฐ์ฅ ์์ ๋จ์์ด์ ํ๋์ ์์ ํ๋ก๊ทธ๋จ์ ๋๋ค. ์ค์ํํธ์์ ํจ์๋ ์ผ๊ธ ๊ฐ์ฒด์ด๊ธฐ ๋๋ฌธ์ ํ๋์ ๊ฐ์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ ๊ทธ๋ผ ์ด๋ ๊ฒ ์ค์ํ ํจ์์ ๋ํด ์ด์ ์์๋ณด๋๋ก ํ์ฃ !! 1. ํจ์์ ๋ฉ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ ๋์ผํฉ๋๋ค. ๋ค๋ง ์ํฉ์ด๋ ์์น์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฉ์ด๋ก ๋ถ๋ฆ ๋๋ค. -. ํจ์ : ๋ชจ๋ ์ ์ฒด์์ ์ ์ญ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ํจ์ -. ๋ฉ์๋ : ๊ตฌ์กฐ์ฒด,ํด๋์ค,์ด๊ฑฐํ ๋ฑ ํน์ ํ์ ์ ์ฐ๊ด๋์ด ์ฌ์ฉํ๋ ํจ์ 2. ํจ์์ ์ ์์ ํธ์ถ -. ์๊ดํธ()๋ฅผ ์๋ต ํ ์ ์์ต๋๋ค. -. ์ฌ์ ์(์ค๋ฒ๋ผ์ด๋)์ ์ค๋ณต์ ์(์ค๋ฒ๋ก๋)๋ฅผ..
-
ํ๋ฆ์ ์ดSwift 2020. 11. 1. 14:03
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ํ๋ฆ์ ์ด์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ฝ๋ฉ์ ํ๋ค๋ณด๋ฉด ํน์ ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ณตํด์ ์คํํด์ผ ํ๋ ์ผ๋ ์ข ์ข ๋ฐ์ํฉ๋๋ค. ์ด๋ด๋ ์ฌ์ฉํ๋๊ฒ์ด ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ๋๋ค. ์ค์ํํธ์์๋ ํ๋ฆ์ ์ด ๊ตฌ๋ฌธ์ ์๊ดํธ() ๋ฅผ ๋๋ถ๋ถ ์๋ต ํ ์ ์๋์ ์ ํ ์ธ์ด์ ์ฐจ์ด์ ์ด ์์ต๋๋ค. ๊ทธ๋ ์ง๋ง ์ค๊ดํธ{}๋ ์๋ตํ ์ ์์ต๋๋ค. ํ ์ธ์ด์์ ํ๋ฆ์ ์ด ์ฌ์ฉ๋ฒ์์ ์กฐ๊ธ ์ฐจ์ด๊ฐ ๋๋ ๋ถ๋ถ์ ์ ์ฐพ์๋ณด๋ฉด์ ์ง๊ธ๋ถํฐ ํ๋ฒ ์์๋ณด๋๋ก ํ์ฃ ^^ 1. ์กฐ๊ฑด๋ฌธ ์กฐ๊ฑด๋ฌธ์ if / switch / guard ๊ตฌ๋ฌธ์ด ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ if์ switch ๊ตฌ๋ฌธ์ ํ์ตํ๊ณ guard ๊ตฌ๋ฌธ์ ๋ค์ ํฌ์คํ ์์ ์์๋ณด๊ฒ ์ต๋๋ค. 1-1. if ๊ตฌ๋ฌธ ๋ํ์ ์ธ ์กฐ๊ฑด๋ฌธ์ผ๋ก if,else ๋ฑ์ ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌํ ์กฐ๊ฑด..
-
์ฐ์ฐ์Swift 2020. 11. 1. 10:37
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ฐ์ฐ์์ ๋ํด ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค. ์ด์ ํฌ์คํ ๊น์งํ์ฌ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ ์ธ, ์์ฑ๋ฑ์ ๋ํด ์์๋ดค์์ฃ ~! ์ค๋์ ๊ทธ ๋ฐ์ดํฐ๋ค์ ๊ฐ์ง๊ณ ์ฐ์ฐํ๋ ํ์ต์ ํ๊ฒ ์ต๋๋ค. ๋ง์ฝ ์ด ํฌ์คํ ์ ์ฝ๊ธฐ ์์ ๋ฐ์ดํฐ ํ์ ์ ๋ํด ํท๊ฐ๋ฆฌ์ ๋ค๋ฉด ์ด์ ํฌ์คํ ์ ๊ผญ ์ฐธ๊ณ ํ๊ณ ์ค์๊ธธ ๋ฐ๋๋๋ค :-) 1. ํ ๋น ์ฐ์ฐ์ ๊ฐ์ ํ ๋นํ ๋ ์ฌ์ฉํ๋ ์ฐ์ฐ์ A = B (A์ B์ ๊ฐ์ ํ ๋นํ๋ฉฐ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ํ์ ์ผ ์ ์ค๋ฅ๊ฐ ๋ฐ์) 2. ์ฐ์ ์ฐ์ฐ์ ๋์ฒด๋ก ์ํ์์ ์ฐ์ด๋ ์ฐ์ฐ์์ ๊ฐ์ ์ญํ ์ ์ํ 1) ๋ํ๊ธฐ ์ฐ์ฐ์ : A + B (๋ํ ๊ฐ์ ๋ฐํ) 2) ๋นผ๊ธฐ ์ฐ์ฐ์ : A - B (๋บ ๊ฐ์ ๋ฐํ) 3) ๊ณฑํ๊ธฐ ์ฐ์ฐ์ : A * B (๊ณฑํ ๊ฐ์ ๋ฐํ) 4) ๋๋๊ธฐ ์ฐ์ฐ์ : A / B (..
-
๋ฐ์ดํฐ ํ์ (๊ณ ๊ธ)Swift 2020. 10. 30. 15:23
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ฒ ํฌ์คํ ์ ์ด์ด ๋ฐ์ดํฐ ํ์ ์ ๋ํด ์ข ๋ ์ฌ์คํ๊ฒ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค. ์ ๋ฒ ์๊ฐ์ ๊ฐ๋จํ ๋ณต๊ธฐํ์๋ฉด ๊ธฐ๋ณธ ์๋ฃํ ์ ์/์ค์/๋ฌธ์/๋ฌธ์์ด/์ฐธ๊ฑฐ์ง๋ฑ์ ํ์ ๋ค์ด ์์์ฃ ! ๊ทธ ๊ธฐ์ต์ ๋์๊ธฐ๋ฉฐ ํ์ธต ๋ฐ์ ๋ ์ค๋ ฅ์ ๋ง๋ค์ด ๊ฐ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ค์ํํธ์ ๊ฐ์ฅ ๊ฐ์กฐ๋๋ 3๋ ํน์ง ์ค ์์ ์ฑ(Safe)์ด ๊ฐ์ฅ ์ ๋ํ๋๋ ํํธ์ ๋๋ค. ์๋ก ๋ค๋ฅธ ํ์ ๋ผ๋ฆฌ์ ๋ฐ์ดํฐ ๊ตํ์ ๊ผญ ํ์ ์บ์คํ (ํ๋ณํ)์ ๊ฑฐ์ณ์ผ ํฉ๋๋ค. ์ค์ํํธ๋ ๋ฐ์ดํฐ ํ์ ์ ์์ฌํ๊ณ ์ฌ์ฉํ ์ ์๋ ์ธ์ด์ ๋๋ค. ํ์ ์ ์์ฌํ๊ณ ์ฌ์ฉํ ์ ์๋ค๋ ๋ง์ ๊ทธ๋งํผ ์ค์๋ฅผ ์ค์ฌ ์ค๋ฅ ๋ฐ์ ํ๋ฅ ์ ๋ฎ์ถ๋๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ค์ํํธ๊ฐ ์ปดํ์ผ ์ ํ์ ์ ํ์ธํ๋ ๊ฒ์ ํ์ ํ์ธ ์ด๋ผ๊ณ ํฉ๋๋ค. ๋ํ, ํน์ ํ์ ์ ๋ช ์ํ์ง ์์๋..
-
๋ฐ์ดํฐ ํ์ (๊ธฐ๋ณธ)Swift 2020. 10. 30. 10:11
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ์๋ ์ค์ํ์์ ๊ธฐ๋ณธ์ผ๋ก ์ ๊ณตํ๋ ๋ฐ์ดํฐ ํ์ ํํ๋ค ์๋ฃํ์ด๋ผ๊ณ ํ๋๊ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ค์ํํธ์ ๋ชจ๋ ๋ฐ์ดํฐ ํ์ ์ด๋ฆ์ ์ฒซ๊ธ์๊ฐ ๋๋ฌธ์๋ก ์์ํ๋ ๋๋ฌธ์ ์นด๋ฉ์ผ์ด์ค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ค์ํํธ ํ๋ก๊ทธ๋๋ฐ์ ํจ์ ์์ด ๊ธฐ์ด๊ฐ ๋๋ ์ค์ํ ๋ถ๋ถ์ผ๋ก ๋์น๋ ๋ถ๋ถ์ด ์๋์ง ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค^^ 1. Int / UInt 1) Int : +, - ๋ถํธ๋ฅผ ํฌํจํ ์ ์ 2) UInt : - ๋ถํธ๋ฅผ ํฌํจํ์ง ์๊ณ 0์ ํฌํจํ ์์ ์ ์ ๊ฐ ํ์ ์ ์ต๋/์ต์๊ฐ์ max,min ํ๋กํผํฐ๋ก ์์ ๋ณผ ์ ์์ต๋๋ค. [์ง์์ ๋ฐ๋ฅธ ์ ์ ํํ ๋ฐฉ๋ฒ] -. 10์ง์ : ์ฐ๋ฆฌ๊ฐ ํ์์ ์ฐ๋ ์ซ์์ ๋์ผํ๊ฒ ์์ฑ -. 2์ง์ : ์ ๋์ด 0b -. 8์ง์ : ์ ๋์ด 0o -. 16์ง์ : ์ ๋์ด 0..
-
์ค์ํํธ ํ๋ก๊ทธ๋๋ฐ ๊ท์นSwift 2020. 10. 29. 18:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ์๋ ์ค์ํํธ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ฉฐ ์์์ผํ ํ์์ ์ธ ๋ช๊ฐ์ง ๊ท์น์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ด๋๋ ์ค์ํ ๋ด์ฉ์ผ๋ก ๊ฐ๋จํ๋๋ผ๋ ๊ผญ ์์งํด์ผํ๋ ๋ถ๋ถ์ ๋๋ค. ์ฌ๋ฌ๋ถ๋ค๋ ์ ๊ธ์ ๋ณด๋ฉฐ ์๊ณ ์์๊ฑฐ๋ ๋์น๊ฒ ์๋์ง ๋ค์ ํ๋ฒ ๋ณต์ตํด๋ณด๋ ์ข์ ์๊ฐ์ด ๋์๊ธธ ๋ฐ๋๋๋ค ^^ ์ฐ์ ์ด๋ฒ ํฌ์คํ ์์๋ ํฌ๊ฒ ๊ธฐ๋ณธ ๋ช ๋ช ๊ท์น / ์ฝ์๋ก๊ทธ / ์ฃผ์ / ๋ณ์์ ์์์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. 1. ๊ธฐ๋ณธ ๋ช ๋ช ๊ท์น ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ๊ทธ๋ ๋ฏ ์ค์ํํธ ์ธ์ด ์์ฒด์ ๋ช ์๋ ๋ช ๋ช ๊ท์น์ ์์ต๋๋ค. ํ๊ฒฝ๊ณผ ํ์ ๊ทธ๋ฃน์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํด๋ฆฐ ์ฝ๋ฉ์ ์ํด ์ค์ํํธ์ API ๋์์ธ ๊ฐ์ด๋๋ผ์ธ ๋ฐ ์ ํ์ ์ฝ์ฝ์๋ฅผ ์ํ ์ฝ๋ฉ ๊ฐ์ด๋๋ผ์ธ์ ์ฐธ๊ณ ํ์๋ฉด ์ข์ต๋๋ค. ๋ค์์, ๊ฐ์ด๋๋ผ์ธ ์ค์์ ๊ผญ ์์์ผ..
-
์ค์ํํธ ๊ธฐ์ดSwift 2020. 10. 29. 17:35
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ค๋์ ์ค์ํํธ ๋ฌธ๋ฒ์ ๊ณต๋ถํ๋ฉฐ ๋๋ฆ๋๋ก์ ์ ๋ฆฌ๋ฅผ ํด๋ณด๊ฒ ์ต๋๋ค. ์ฌ๋ฌ๋ถ๋ค๋ ์ค์ํํธ๋ฅผ ๊ณต๋ถํ์๋ฉด์ ์ ๊ธ๋ค์ ๋ณด๋ฉฐ ๋ค์ ํ๋ฒ ์ ๋ฆฌํด๋ณด๋ ์๊ฐ์ด ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ์๋ชป๋๊ฑฐ๋ ์ถ๊ฐํ ๋ด์ฉ์ด ์๊ฐ๋์๋ฉด ๋๊ธ ๋ฌ์์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค ^^ ์, ์ด์ ์์ํฉ๋๋ค~ ์ฐ์ ์ค์ํํธ ๋ฌธ๋ฒ์ ๊ณต๋ถํ ๋ ๊ฐ์ฅ ๊ธฐ์ด์ ์ธ ์ค์ํํธ๋ ๋ฌด์์ธ๊ฐ ๊ฐ์ ์๊ฐ๋ฅผ ํ๊ฒ ์ต๋๋ค. 1. ์ค์ํํธ ์๊ฐ ์ค์ํํธ๋ ํธ๋ฆฌํ๋ฉฐ ๊ณ ์ฐจ์์ ์ธ ์ธ์ด์ ๋๋ค. ARC(์๋์ฐธ์กฐํ์๊ณ์ฐ, Automatic Reference Counting)์ ์ง์ํ๋ฉฐ ์ฝ๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. 2.์ธ์ด์ ํน์ฑ 1) Safe(์์ ์ฑ) 2) Fast(์ ์์ฑ) 3) Expressive(ํํ์ฑ) : ์ฌ๋ฌ๊ฐ์ง ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ฐจ์ฉํ ๋ค์ค ํจ๋ฌ๋ค์ ํ๋ก๊ทธ๋..