Swift ๊ธฐ์ด
-
๊ตฌ์กฐ์ฒด์ ํด๋์คSwift 2020. 11. 4. 09:45
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ํํธ์ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ฑ๊ฒฉ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ทธ ์ค ๋ํ์ ์ธ ๊ตฌ์กฐ์ฒด์ ํด๋์ค์ ๋ํด ์ฌ์ธต ํ์ต์ ํด๋ณผ ์์ ์ ๋๋ค..! ๋ง๋ง ๋ค์ด๋ ๋ฒ์จ ํ๋ก๊ทธ๋๋ฐ์ ์ฒ์ ์ ํ ๋ถ๋ค์ ๋ฏ์ค๊ฒ ๋๊ปด์ง๋ ๊ฒฝํฅ์ด ์๋ ํํธ๋ค์ ๋๋ค. ์ด์ ํฌ์คํ ๊น์ง์ ๊ธฐ์ด๋ค์ ๊ทธ๋๋ ๊ทธ๋ญ์ ๋ญ ์ดํดํ๋ฉฐ ๋์ด๊ฐ ์ ์๋ ๋ถ๋ถ์ด ๋ง์๋๋ฐ ์ด๋ฒ ํฌ์คํ ๋ถํฐ๋ ์กฐ๊ธ ๋ ์ฌ์คํ ๊ฐ๋ ๋ค์ด ๋์ค๋ ์ง์คํด์ ๊ฐ์ด ํ์ตํด๋ด์^^ ์ฐ์ , ๊ตฌ์กฐ์ฒด์ ํด๋์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ฉ๋์ ๋ง๊ฒ ๋ฌถ์ด ํํํ๊ณ ์ ํ ๋ ์ ์ฉํฉ๋๋ค. ํ๋กํผํฐ์ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ ๋ฐ ๊ธฐ๋ฅ์ ๊ฐ์ง๋๋ค. ์ฆ ํ๋์ ์๋ก์ด ์ฌ์ฉ์ ์ ์ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ค์ด ์ฃผ๋๊ฒ ์ ๋๋ค. ์ด์ ๊น์ง์ ํฌ์คํ ์์ ์์๋ณธ ๋ฐ์ดํฐ ํ์ ๊ณผ ์ด๊ฑฐํ์ ๋ชจ๋ ๊ฐ ํ์ ์ด..
-
์ต์ ๋Swift 2020. 11. 3. 11:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ ์ค์ํํธ์ ํน์ง ์ค ํ๋์ธ ์์ ์ฑ์ ๋ฌธ๋ฒ์ผ๋ก ๋ด๋ณดํ๋ ๊ธฐ๋ฅ์ธ ์ต์ ๋์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๊ธฐ์กด C์ธ์ด๋ Objective-C์์๋ ์์๋ ์ฝ์ ํธ๋ก ์ค์ํํธ์์ ๋ฐฐ์๋ณด์ค ์ ์์ต๋๋ค~! ์ต์ ๋ : '์ ํ์ ์ธ' , '๊ฐ์ด ์์์๋, ์์์๋'๋ฅผ ๋ํ๋ด๋ฉฐ ๋ณ์๋ ์์์ ๊ผญ ๊ฐ์ด ์๋ค๊ณ ๋ณด์ฅํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ์ฆ ๊ฐ์ด nil(NULL)์ผ ์๋ ์๋๊ฑธ ์๋ฏธํฉ๋๋ค. 1. ์ต์ ๋ ์ฌ์ฉ ์ต์ ๋ ๋ณ์ ๋๋ ์์๊ฐ ์๋๋ฉด nil์ ํ ๋นํ ์ ์์ต๋๋ค. ๊ฐ์ด ์๋ ์ต์ ๋ ๋ณ์ ๋๋ ์์์ ๊ฐ์ ๋ก ์ ๊ทผํ๋ ค๋ฉด ๋ฐํ์ ์ค๋ฅ๊ฐ ๋ฐ์๋จ. nil์ ์ต์ ๋๋ก ์ ์ธ๋ ๊ณณ์์๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค. -. ์ ์ธ๋ฐฉ๋ฒ : ๋ฐ์ดํฐ ํ์ ๋ค ๋ฌผ์ํ(?) ํ์ -. ์ต์ ๋ ์ฌ์ฉ ์ํฉ : ๋งค๊ฐ๋ณ์์ ..
-
ํจ์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. 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(ํํ์ฑ) : ์ฌ๋ฌ๊ฐ์ง ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ์ฐจ์ฉํ ๋ค์ค ํจ๋ฌ๋ค์ ํ๋ก๊ทธ๋..