๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ(266)
-
Swift - ํด๋์ค ์์๊ณผ ์ฌ์ ์
Swift - ํด๋์ค ์์๊ณผ ์ฌ์ ์ ์๋ ํ์ธ์ ์ค๋์ swift์์์ ํด๋์ค, ์์, ์ฌ์ ์์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค. ํด๋์ค ํด๋์ค๋ "์ธ์คํด์ค๋ฅผ ์์ฑ์ํค๋ ํ" ์ ๋๋ค. ํด๋์ค๋ฅผ ์ค๋ช ํ๋ ์์์์๋ ๋ถ์ด๋นต ํ๊ณผ ๋ถ์ด๋นต์ ์์๋ก ๋ง์ด ๋๋๋ฐ์, ๋ถ์ด๋นต ํ์ ํตํด์ ๋ถ์ด๋นต์ ๋ง๋๋ ๊ฒ์ผ๋ก ๋ถ์ด๋นต ํ์ด ์ฌ๊ธฐ์ "ํด๋์ค"์ด๊ณ ๋ถ์ด๋นต์ด "์ธ์คํด์ค(๊ฐ์ฒด)"์ ๋๋ค. ํด๋์ค๋ฅผ ๊ณต์ฅ, ์ธ์คํด์ค๋ฅผ ์ ํ์ด๋ผ๊ณ ์ดํดํด๋ ์ข์ ๊ฒ ๊ฐ๋ค์. Swift์์ ํด๋์ค๋ ์ด๋ป๊ฒ ์๊ฒจ์๋์ง ํ์ธํด๋ณด๊ฒ ์ต๋๋ค. ์์ ์ฝ๋์์ age, name, height์ ๊ฐ์ ๋ถ๋ถ๋ค์ "์ ์ฅ ์์ฑ"์ด๋ผ๊ณ ๋ถ๋ฅด๊ณ , init() {}์ ํจ์๋ฅผ "์์ฑ์" ๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ํด๋์ค๋ฅผ ํตํด์ ์ธ์คํด์ค๋ฅผ ์์ฑ์ํฌ ๋๋ ์ ์ฅ์์ฑ์ ๋ชจ๋ ๊ฐ๋ค์ด ์ด๊ธฐํ๋์ด์ผ ํ๋๊ฒ s..
2022.07.06 -
swift - ์ฑ๊ธํค ํจํด
swift - ์ฑ๊ธํค ํจํด ์๋ ํ์ธ์ ์ค๋์ swift ์ฑ๊ธํค ํจํด์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฑ๊ธํค ํจํด์ ๋ฌด์์ด๋ฉฐ ์ ๊ฐ๋ ์ด ๋ํ๋ฌ์๊น์? ์ฑ๊ธํค ํจํด "์ฑ ๋ด์์ ์ ์ผํ๊ฒ ์กด์ฌํ๋ ์ธ์คํด์ค" ์ฑ์ ์๋ํ๋ค๋ณด๋ฉด ์๋ ์ฌ์ง๊ณผ ๊ฐ์ด ๊ณตํต์ ์ด ์๋ ์ฌ๋ฌ๊ฐ์ ๋ฐ์ดํฐ ๋ฌถ์๋ค์ ๋ฝ์๋ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด์ฒ๋ผ ํ ์์์ ์ธ์คํด์ค๋ฅผ ์์ฑ์ํค๋ ๊ฒ์ด ์๋๋ผ ์ค์ง ํ๋์ ์ธ์คํด์ค๋ก "๊ณต์ "ํด์ ์ฌ์ฉํด์ผํ๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น์? ์ด๋ฅผ ์ํด ๋์จ ๊ฐ๋ ์ด ์ฑ๊ธํค ํจํด์ ๋๋ค. ์ฑ๊ธํค ์ฝ๋ 1. static let์ผ๋ก shared๋ฅผ ์ ์ธํจ์ผ๋ก์จ shared๋ "์ ์ญ"์ผ๋ก ๋ง๋ค๊ณ ๋ณ๊ฒฝํ ์ ์๋ ์ํ๋ก ๋ง๋ค์ด์ฃผ์ด ์ ์ผํ ๊ฐ์ ๊ฐ์ง๋๋ก ํฉ๋๋ค. 2. ํด๋์ค ๋ด๋ถ์์ ์ธ์คํด์ค๋ฅผ ์์ฑํจ์ผ๋ก์จ shared์๋ ..
2022.07.05 -
Swift - ์ด๊ฑฐํ(enum), ์์๊ฐ, ์ฐ๊ด๊ฐ
Swift - ์ด๊ฑฐํ(enum), ์์๊ฐ, ์ฐ๊ด๊ฐ ์ค๋์ enum์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. enum์ด๋? ์ฐ๊ด๋ ์์์ ๊ฐ์ ๋ฌถ์ด ํ๋์ ํ์ ์ผ๋ก ์ ์ํ ์๋ฃํ ์ฝ๋๋ฅผ ํตํด ๋ฐ๋ก ํ์ธํด๋ด ์๋ค. apple, microsoft, google์ด๋ผ๋ ์์๋ค์ ๋ฌถ์ด์ Company๋ผ๊ณ ์๋ก์ด ํ์ ์ ์ ์ํ์ต๋๋ค. ๊ธฐ์กด์ Int, String, Bool ํ์ ๊ณผ๋ ๋ค๋ฅด๊ฒ "์ฌ์ฉ์ ์ ์ ํ์ " ์ด๋ผ๋ ๊ฒ์ ์์์ผ ํฉ๋๋ค. ๊ทธ๋ผ ์ด enum์ ์ ์ฌ์ฉํ ๊น์? enumํ์ ์ "์ฝ๋์ ์์ ์ฑ๊ณผ ๊ฐ์์ฑ" ๋๋ฌธ์ ์ฌ์ฉํฉ๋๋ค. - ์ง์ ์ ์ํ ํ์ ์์์๋ง ์์๊ฐ์ ์ ๊ทผํ ์ ์๊ธฐ ๋๋ฌธ์ ์์ ์ฑ์ ๋์ฌ์ฃผ๊ณ ํ์ ๊ณผ ์์๋ช ์ด ์ง๊ด์ ์ผ๋ก ์ ์ ์๊ฒ ์ ์ํด๋จ๊ธฐ ๋๋ฌธ์ ๊ฐ์์ฑ์ ๋์ฌ์ค๋๋ค. enum์ ์ธ์ ๋ง์ด ์ฌ์ฉํ ๊น์? switc..
2022.06.30 -
Swift- inout
Swift - inout ์ค๋์ Swift ํจ์ ๋ฌธ๋ฒ์ธ inout ํค์๋์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ ํฌ์คํ https://pololove.tistory.com/97 ์์ ์ค์ํํธ์์ ํจ์๊ฐ ๋ฌด์์ธ์ง์ ๋ํด ํ์ตํ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ํจ์์ ํ๋ผ๋ฏธํฐ๋ let์ผ๋ก ์ ์ธ๋๋ฉฐ ์ด๋ "์์"์ด๊ธฐ ๋๋ฌธ์ ํจ์ ๋ด๋ถ์์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐํ๋ค๋ ํน์ง์ด ์์ต๋๋ค. ๊ทธ๋ผ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ์ํ๋ก๋ง ํจ์๋ฅผ ์ฌ์ฉํด์ผํ ๊น์? ์๋๋๋ค. ํจ์์ ์ ๋ฌ๋ฐ์ ํ๋ผ๋ฏธํฐ๊ฐ์ ๋ณ๊ฒฝ์ํค๊ธฐ ์ํด ์ฐ๋ฆฌ๋ inout ํค์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. inout ํ๋ผ๋ฏธํฐ ํจ์์ ํ๋ผ๋ฏธํฐ ๊ฐ์ ๋ณ๊ฒฝํ๊ธฐ ์ํ ํค์๋. inoutํค์๋์ ์ฌ์ฉ๋ฒ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. ํจ์์ ํ์ ์์ inout ํค์๋๋ฅผ ์ ์ด์ค์ผ๋ก์จ ํ๋ผ๋ฏธํฐ๋ฅผ let์ผ๋ก ์ ์ธํ๋ ๊ฒ์ด ์๋..
2022.06.28 -
Swift - ํจ์
swift - ํจ์ ์๋ ํ์ธ์. ์ค๋์ swift์ ํจ์์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ํ๋ก๊ทธ๋๋ฐ์์ ํจ์๋ "์ด๋ค ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํ ์ฝ๋์ ๋ชจ์"์ด๋ผ๊ณ ์ ์ํ ์ ์๋๋ฐ์, ๋ค์ ์์๋ฅผ ์ดํด๋ด ์๋ค. ํจ์๋ ์ ์ธ๋ถ์ ํธ์ถ๋ถ๋ก ๋๋๊ฒ ๋ฉ๋๋ค. func ํจ์์ด๋ฆ() { }์ ํํ๋ ์ ์ธ๋ถ, ํจ์์ด๋ฆ()์ ํํ๋ ํธ์ถ๋ถ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฝ๋๋ ์์ฐจ์ ์ผ๋ก ์คํ์ด ๋๊ธฐ ๋๋ฌธ์ ์์๊ฐ์ด ํจ์๋ฅผ ํธ์ถํ๋ ๊ฒ์ด ์๋๋ผ๋ฉด print๋ฌธ์ฅ์ ๋ ๋ฒ์จ์ผ ์๋ํ๋๋๋ก ์ถ๋ ฅ์ด ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ๊ฒ์ ์ฐ๋ฆฌ๋ ํจ์๋ฅผ ์ ์ํจ์ผ๋ก์จ ์ด ํจ์๋ฅผ "ํ๋ฒ๋ง ํธ์ถํด๋" ๋๊ฐ์ ํ๋ฆฐํธ ํจ์๊ฐ ํธ์ถ๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. ์ด๋ฅผ ํ๋ก๊ทธ๋๋จธ๋ค์ "์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํ ์ฝ๋"๋ผ๊ณ ๋ถ๋ฆ ๋๋ค. ํ๋ผ๋ฏธํฐ, ์๊ท๋จผํธ ์์ ์์์ฝ๋์์๋ ํ๋ผ๋ฏธํฐ๊ฐ..
2022.06.27 -
Swift - if let (Optional)
Swift - if let ์กฐ๊ฑด๋ฌธ swift์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ฉํ๋ ์กฐ๊ฑด๋ฌธ์ ๋ํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. ์กฐ๊ฑด๋ฌธ์ ์๊ธฐ ์ ์ swift์์ ์ฌ์ฉํ๋ optional์ ๋ํด์ ๋จผ์ ์์๋ด ์๋ค. Optional optional value๋ ๊ฐ์ด ์กด์ฌํ์ง ์์ ๋๋ฅผ ๋๋นํ์ฌ ์์ ์ ์ธ ํ๋ก๊ทธ๋๋ฐ์ ํ๊ธฐ์ํด ๋ง๋ค์ด์ง ๊ธฐ๋ฅ์ ๋๋ค. ์๋ ์์๋ฅผ ํตํด ์กฐ๊ธ ๋ ์ง๊ด์ ์ผ๋ก ๋๊ปด๋ด ์๋ค. ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ๋ก๊ทธ์ธํ๊ณ ์ ์ํ์ ๋ ๋๋ค์์ด ์กด์ฌํ๋ค๋ฉด ๋๋ค์์, ์กด์ฌํ์ง ์๋๋ค๋ฉด ์ฌ์ฉ์์ ์ด๋ฆ์ ๋ ธ์ถ์ํจ๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. ๊ทธ๋ฌ๋ฉด ์ฐ๋ฆฌ๋ ์ด์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. let nickname: String?= "jimin" //์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์จ๋ค๋ฉด ์๊ณผ ๊ฐ์ด String์ด ์๋ nil๊ฐ์ด ๋ค์ด์ฌ ์๋ ์๊ธฐ ๋๋ฌธ์ ?..
2022.06.12