ios(17)
-
Swift - Set ํบ์๋ณด๊ธฐ
Swift - Set ํบ์๋ณด๊ธฐ Set์? Set์ ๋ฐฐ์ด, ๋์ ๋๋ฆฌ์ ๊ฐ์ Collection Type์ผ๋ก Hashable ํ๋กํ ์ฝ์ ์ฑํํ ์๋ฃํ๋ง ๊ฐ์ง ์ ์๋ค. (Any ๋ถ๊ฐ) Set์ ํน์ง ์ค๋ณต๋ ๊ฐ์ ๊ฐ์ง์ง ์์ Hashableํ ๊ฐ์ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ ํ์์ด ๋งค์ฐ ๋น ๋ฆ ์ ๋ ฌ๋์ง ์์ ์ปฌ๋ ์ ์ด๊ธฐ ๋๋ฌธ์ ์คํํ ๋๋ง๋ค ๊ฐ์ด ๋ค๋ฆ Set ์ด๊ธฐํ Set์๋ฃ๊ตฌ์กฐ๋ ํ์ ์ถ๋ก ์ด ๊ฐ๋ฅํ์ง์๊ธฐ ๋๋ฌธ์ ํ์ ์ด๋ ธํ ์ด์ ์ด๋ ์์ฑ์๋ฅผ ์ด์ฉํด์ ์ด๊ธฐํ ์์ผ์ผ ํ๋ค. Set ์๋ฃํ ์ถ๊ฐํ๊ธฐ insert์ update ๋ ๋ค ๊ฐ์ ๋ฃ๋ ์ญํ ์ ํ๋ค. Set ์๋ฃํ ์ญ์ ํ๊ธฐ Set ์๋ฃํ ๋น์ด์๋์ง ํ์ธ ๋น์ด์๋์ง๋ง ํ์ธํ ๋๋ count๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค isEmpty๋ฅผ ์ฌ์ฉ
2022.09.28 -
Swift - 2์ง์๋ก ๋ณํํ๊ธฐ
Swift - 2์ง์๋ก ๋ณํํ๊ธฐ ์ง์ ๋ณํ ์ค์ํํธ ๋ด์ฅ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ฉด ์ํ๋ ์ง์์ ๋ง๊ฒ ๊ณ์ํด์ ๋๋ ์ค์ผ ํ๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ์ด ๋๋ฌธ์ ์ฝ๊ฒ ์ง์๋ฅผ ๋ณํํ ์ ์๋ ๊ฒ์ ๋ํด ํ์คํ๊ฒ ์๊ณ ์๋๊ฒ ์ข์ ๊ฒ ๊ฐ์์ ์ ๋ฆฌํฉ๋๋ค! 10์ง์ -> 2์ง์ 10์ง์์์ 2์ง์๋ก ๋ณํํ ๋๋ String์์ฑ์๋ฅผ ์ฌ์ฉํด์ผํ๋๋ฐ์, ์ฒซ ๋ฒ์งธ ์ธ์๋ BinaryIntegerํ๋กํ ์ฝ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค(BinaryInteger๋ Int, UInt32์ ๊ฐ์ Integerํ์ ์ ๊ธฐ์ด์ ๋๋ค) 2์ง์ -> 10์ง์ 2์ง์์์ 10์ง์๋ก ๋ณํํ๊ธฐ ์ํด์๋ Int์์ฑ์๋ฅผ ์ฌ์ฉํด์ผํฉ๋๋ค! (๋ฐ๋์ธ ๊ฑธ ํ์ธํ ์ ์๋ค์) ์ฒซ๋ฒ์งธ ์ธ์๋ Stringํ๋กํ ์ฝ์ ๋ฐ๋ผ์ผ ํฉ๋๋ค. (2์ง์๋ฅผ String์ผ๋ก ๋ค๋ฃจ๊ณ ์๋ค๊ฐ ํฌ์ธํธ..
2022.09.27 -
Swift - ์์คํค์ฝ๋ ๋ณํํ๊ธฐ
Swift - ์์คํค์ฝ๋ ๋ณํํ๊ธฐ ์์คํค์ฝ๋๋ฅผ ๋ณํํ๋ ๋ฐฉ๋ฒ์ .asciiValue(), UnicodeScalar()๊ฐ ์๋๋ฐ์ ์ผ๊ด์ฑ์ ๋ง์ถ๊ธฐ ์ํด UnicodeScalar()๋ก ํต์ผํด์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. Character -> ์์คํค ๊ฐ UnicodeScalar("A").value -> 65 .value๋ฅผ ํตํด์ ์ ๊ทผํ๋ฉด ๋ฐํ๊ฐ์ด UInt32์ด๊ธฐ ๋๋ฌธ์ ์ผ๋ํด์ ๋ณํ์์ผ์ ์ฌ์ฉํ๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค ์์คํค ๊ฐ -> Character UnicodeScalar(65)! -> "A" ๋ฐํ๊ฐ์ด ์ต์ ๋์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ ์ธ๋ํ์ ํด์คฌ๋ค๋ ์ ์ด๋ ๋ฐํ๊ฐ์ด Scalar์ด๊ธฐ ๋๋ฌธ์ String์ด ์๊ตฌํ๋ ๊ฒ์ด๋ผ๋ฉด String์ผ๋ก ๊ฐ์ธ์ฃผ๋ฉด ๋๊ฒ ์ต๋๋ค + ์ถ๊ฐ UnicodeScalar๋ฅผ ์ฌ์ฉํ ๋ ์ธ์๋ก UInt์ ํ์ ..
2022.09.27 -
iOS - Realm
iOS - Realm Realm์ด๋? SQLite์ ์ฝ์ด ๋ฐ์ดํฐ์ ๋์์ฑ ์ผ๋ก ๊ฐ๋จํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๊ณ ์กฐํํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. swift์๋ ๋ฐ์ดํฐ๋ฅผ ๋ก์ปฌ ํ๊ฒฝ์์ ์ ์งํ๊ธฐ ์ํด ์ฝ๊ฒ ์ฌ์ฉํ๋ UserDefaults๊ฐ ์๋ค. ๊ทธ๋ผ Realm์ ์ ์ฌ์ฉํ ๊น? ์ฐ์ ๋ก์ปฌ ํ๊ฒฝ์์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ๋ค์ ์์๋ณด์. UserDefaults, SQLite, Core Data, Realm UserDefaults๋ ๊ธฐ๊ธฐ์์ ์ค์ ํ ํ๋ฉด์ ๋คํฌ๋ชจ๋ ์ฌ๋ถ, ์ํฅ ์๋ฆฌ ์ค์ ๋ฑ์ค์ํํธ์ ์์ ๊ฐ์ ์ ์ฅํ๋๋ฐ ์ฌ์ฉํ๊ธฐ์ ํธ๋ฆฌํ๋ค. SQLite์ sql์ ์ด์ฉํ๋ ๋ฐ์ดํฐ๋ฒ ๋ฒ ์ด์ค ์์ง์ด๊ธฐ ๋๋ฌธ์์ด์ ์ต์ํ์ฌ๋๋ค์ ์ฌ์ฉํ๊ธฐ ์ฝ๋ค. ํ์ง๋ง ๋ค๋ฅธ ๊ฒ๋ค์ ๋นํด ๊ฐ์ ธ์ค๋ ์๋๊ฐ ๋๋ฆฌ๋ค. Core Data๋ Xcode๋ด๋ถ์์ ์ฌ์ฉํด์ ๊ฐ์ฒด..
2022.09.19 -
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