SWIFT
-
Sequence๋ฅผ ์์๋ณด์ ๐คฟSwift 2024. 1. 29. 19:06
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ Sequence์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป Sequence์ ๋ํด ์ง์ ์ ์ ์๋๋๋ผ๋ ๋ชจ๋ ๊ฐ๋ฐํ์๋ฉด์ ์๊ฒ ๋ชจ๋ฅด๊ฒ ์ค๋ฉฐ๋ค์ด ์์ต๋๋ค! Array, Dictionary, Set ๊ฐ์ Collection ํ์ ๋ค์ ์์ฃผ ์ฌ์ฉํ์คํ ๋ฐ์. ์ด ์ปฌ๋ ์ ํ์ ๋ค์ Sequence ํ๋กํ ์ฝ์ ์ฑํํ๊ณ ์์ด์. protocol Collection : Sequence ๊ทธ๋ ๊ธฐ์ ์ด ์ํ์ค๊ฐ ๋์ฒด ์ด๋ค๊ฑฐ๊ณ ๊ธฐ๋ณธ ์ปฌ๋ ์ ํ์ ๋ค์ ์ฌ์ฉํ์ง ์๊ณ ์ํ์ค ํ์ ์ ๋ง๋ค์ด๋ณด๋๊ฒ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. Sequence ์์๋ผ๋ ๋ป์ ๊ฐ์ง ์ด ์ํ์ค ํ๋กํ ์ฝ์ ํด๋น ์์์ ๋ํด ์์ฐจ์ ์ด๊ณ ๋ฐ๋ณต์ ์ธ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ์ ํ์ ๋๋ค. ์๋์ ๊ฐ์ ์ ์๋ฅผ ๊ฐ์ ธ์. protocol Sequ..
-
Assertions & PreconditionsSwift 2024. 1. 25. 19:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Assertions๊ณผ Preconditions์ด๋ผ๋ ๊ฐ๋ ๊ณผ ์ค์ ์ฌ์ฉ๋๋ ๋ฉ์๋๋ค์ ์ดํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ์ฐ์ Assertions์ Preconditions๊ฐ ์ด๋ค ๊ฐ๋ ์ธ์ง๋ถํฐ ์์๋ณด๋ฉด ์ข์๊ฒ ๊ฐ๋ค์! Assertions & Preconditions ๋๊ฐ์ง ๋ชจ๋ ๋ฐํ์์์ ์ฌ์ฉํ ์ ์๋ ์กฐ๊ฑด ๊ฒ์ฌ์ ๋๋ค. ์ถ๊ฐ ์ฝ๋๋ฅผ ์คํํ๊ธฐ ์ ์ ํด๋น ํ์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋์ง ํ์ธํ๋๋ฐ ์ฌ์ฉํ์ฃ . ์กฐ๊ฑด์ Bool ํ์ ์ผ๋ก ๊ฒฐ๊ตญ true์ด๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ด์์์ด ์ํํ๊ณ ๋ง์ฝ false์ด๋ฉด ๋ ์ด์ ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ์ฑ์ ์ฃฝ์ฌ๋ฒ๋ฆฝ๋๋ค! ๋ฐํ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ฃ ! ์ฆ, ๊ฐ์ ๋ก ์ฑ์ ๊บผ๋ฒ๋ฆด ์ ์๋ค๋ ํน์ง์ด์ ๋จ์ ์ด ๋ ์ ์๋ ๋ถ๋ถ์ด ํต์ฌ์ ์ด๋ผ๊ณ ๋ณด์ ๋๋ค ๐ค ๊ทธ๋ผ์ผ๋ก ์ฌ์ค ์น๋ช ..
-
Get started with privacy manifests (feat. WWDC 2023)iOS 2023. 12. 28. 19:20
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ WWDC 23์์ ๋ ํ๋ ๋์จ Get started with privacy manifests๋ผ๋ ์น์ ์ ํ์ตํด๋ณด๋ฉด์ ์ ์ด๋ป๊ฒ ์ ์ฉํด์ผํ๋์ง ํฌ์คํ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป News ๐ฐ ์ ํ์ ์ฌํด WWDC 2023์์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๊ด๋ จํ์ฌ ์๋ก์ด ์์์ ์ ๋ฌํ์ต๋๋ค. ๋ฐ๋ก, ๋ช ํํ ๋ช์ ๋ช์ผ๊น์ง๋ ๋์ค์ง ์์์ง๋ง 2024๋ ๋ด (์ด์ ์ง์ง ์ผ๋ง ์๋จ์๋ค์ใ ใ )๋ถํฐ ์ฑ ์คํ ์ด์ ์ฑ์ ์๋กญ๊ฒ ๋ฑ๋กํ๊ฑฐ๋ ์ ๋ฐ์ดํธ๋ฅผ ํ ๋ ์ฑ ๋ฆฌ๋ทฐ ๊ณผ์ ์์ ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๊ด๋ จํ ๋ช๊ฐ์ง ํญ๋ชฉ๋ค์ ์ฌ์ฌ๊ฐ ์ถ๊ฐ๋๋ค๊ณ ํฉ๋๋ค ๐ฅฒ ํ๋์ฉ ์์๋ณผ๊น์? 1๏ธโฃ Privacy Manifest ์ฐ์ ์ค๋ ์ด์ด์ WWDC 23์ Get started with privacy manifests ์น์ ์์..
-
STT๋ฅผ ์ด์ฉํด ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด์ ๐ฃ๏ธiOS 2023. 12. 26. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ STT๋ฅผ ์ด์ฉํ์ฌ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์์๋ STT๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ณ ์ด๋ฅผ ํ๋ก์ ํธ์์ ํ์ฉํ์ฌ ์ง์ ์์ฑ์ ํ ์คํธ๋ก ๋ณํํด๋ณด๋ ์ฝ๋๊น์ง ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค! ๊ทธ๋ผ STT๊ฐ ๋์ฒด ๋ญ์ง ์์๋ณผ๊น์? STT(Speech-to-Text)๋?STT๋ Speech-to-Text์ ์ฝ์์ด๋ฉฐ, ์์ฑ์ ํ ์คํธ๋ก ๋ณํํ๋ ๊ธฐ์ ์ ๋งํฉ๋๋ค. ์ฃผ๋ก, ์์ฑ ์ธ์์ด๋ ์์ฑ ๋ณํ์ด๋ผ๊ณ ๋ ๋ถ๋ฆฌ๊ณ ์์ฑ ๋ฐ์ดํฐ ์์ฒด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ํํ๋ก ๋ณํํ๋ ๊ณผ์ ์ ํฌํจํด์! ํํ STT๋ง๊ณ TTS(Text-to-Speech)๋ ๋ง์ด ๋ค์ด๋ณด์ จ์ํ ๋ฐ์! ์ด๋ฆ์์๋ ์ ์ถํ ์ ์๋ฏ์ด ์๋ก ๋ฐ๋์ ๊ฐ๋ ์ ๋๋ค. TTS๋ ํ ์คํธ๋ฅผ ์์ฑ ์ค๋์ค๋ก ๋ณํํ๋๊ฒ์ด๊ณ S..
-
์ถ์ํ์ ๋คํ์ฑSwift 2023. 12. 11. 19:35
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ ๋ํด ์๊ธฐํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ๋ค๋ค ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ, ์ฆ OOP๋ผ๊ณ ๋ถ๋ฆฌ๋๊ฒ์ ๋ํด ํน์ง์ ์๊ณ ์์๊ฑฐ์์. ์ถ์ํ, ๋คํ์ฑ, ์บก์ํ, ์์ ๊ทธ ์ค์์ ํด๋น ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ด๋ผ๋๊ฒ์ ๋ํด ํ๋ฒ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค. ์ฒ์ ๊ฐ์ฒด ์งํฅ์ด๋ผ๋ ๊ฐ๋ ์ ์ ํ์ค ๋ ์๊ทผํ ๋ง์ด ํท๊ฐ๋ คํ์๋ ํฌ์ธํธ์ธ๊ฒ ๊ฐ์์ ์ต๋ํ ์ฝ๊ฒ ํ์ด๋ณด๋ฉด์ ์ ๋ฌ ํด๋ณด๊ณ ์ถ์ด์ ์ด๋ ๊ฒ ํฌ์คํ ์ ์ฐ๊ฒ ๋์์ต๋๋คใ ใ ํน์ OOP์ ๋ํด ๋ฌด์์ธ์ง ์ฒ์ ๋ค์ด๋ณด์ ๋ค๋ฉด ์ฐ์ ๋ค๋ฅธ ๋ฌธ์๋ค์ ๋จผ์ ์ฐธ๊ณ ํ๊ณ ์ค๋๊ฒ์ด ๋ ๋์์ด ๋ ๊ฒ ๊ฐ์์! (๋์ค์ ์ฌ์ ๊ฐ ์์ผ๋ฉด OOP๋ ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊ป์ ๐) ๊ทธ๋ผ ์ถ์ํ์ ๋คํ์ฑ ์์๋ณผ๊น์? ์ถ์ํ Abstraction์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด์งํฅ..
-
Core Data ํํค์น๊ธฐ ๐iOS 2023. 12. 7. 19:15
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ Core Data์ ๋ํด ํ๋ฒ ํํด์ณ๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ ํํค์น๊ธฐ๋ก ํด๋ดค๋์ง? ์์ฃผ ์ค๋์ ์..? ๊ฑฐ์ ์ฒ์ iOS๋ฅผ ๋ฐฐ์ธ๋ Core Data๋ฅผ ํ์ตํ๋ฉด์ ํด๋น ๋ธ๋ก๊ทธ ํฌ์คํ ์ผ๋ก ๊ธฐ์ฌํ์ ์ด ์๋๋ผ๊ตฌ์ ๐ฎ CoreData ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CoreData(์ฝ์ด๋ฐ์ดํฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! ์ฐ์ ์ฝ์ด๋ฐ์ดํฐ๋ผ๋๊ฑธ ์๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์์๋ณด๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ๋์ด๊ฐ๊ฒ ์ต๋๋คโบ๏ธ 1. ๋ฐ์ด green1229.tistory.com ๊ทธ๋์ ์ฐธ๊ณ ์ฐจ ๋ณด๋ คํ๋๋ฐ, ํฐ ํ์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ค ์์ฃผ๋ก ๋์ด ์์ด์ ์ค์ ๋ธ๋ก๊ทธ๋ง ๋ณด๊ณ ์ ์ฉ์ด ์ด๋ ค์ ์ด์. ์ ๋ธ๋ก๊ทธ๋ ์ฝ์ด ๋ฐ์ดํฐ์ ๊ด๊ณํ DB์ ๊ฐ๋ ์ค๋ช ์ ์ด์ ์ ๋ง์ถฐ์ ์ด๋ฌํ ๋ ์์ด๋ค~ ์๊ฐ์์ต..
-
์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๊ธฐiOS 2023. 11. 9. 10:02
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ์ธ์ฑ๋ฆฌ๋ทฐ๊ฐ ๋ฌด์์ธ์ง ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. ์ธ์ฑ๋ฆฌ๋ทฐ (In-App Review) ์ธ์ฑ๋ฆฌ๋ทฐ๋ ์ฐ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ์ฑ ์์์ ์ฑ์ ์ฑ์คํ ์ด ํ์ ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๋๋ก ์์ฒญํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฆ, ๋ง์ด๋ค ์ฑ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ด ์ฑ์ ํ์ ์ ๋จ๊ฒจ๋ฌ๋ผ๋ ํ์ ์ด ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ข ์ข ๋ณธ์ ์ด ์์ผ์ค๊ฑฐ์์. ์ฝ๊ฒ ๋งํด, ์ฑ ๋ด์์ ํ์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ์์ฒญํ๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ์ธ์ฑ๋ฆฌ๋ทฐ์ ์ฝ๋๋ฅผ ์ฌ์ด์ฃผ์ด๋ ์ธ์ฑ๋ฆฌ๋ทฐ๋ฅผ ๋์ฐ๋ ๊ฒฐ์ ์ ์ ํ ๋ด๋ถ ์์คํ ์์ ํด์ฃผ๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ปจํธ๋กคํ ์ ์๋ ๋ถ๋ถ๋ค์ด ๋ง์ต๋๋ค ๐ฅฒ ์ธ์ฑ๋ฆฌ๋ทฐ์ ํน์ง๋ค์ ์กฐ๊ธ ์ดํด๋ณผ๊น์? ์ธ์ฑ๋ฆฌ๋ทฐ ํน์ง 1๏ธโฃ ์์คํ ์ ์ผ๋ก..
-
rethrows๋ก ์๋ฌ๋ฅผ ๋ค์ ๋์ ธ๋ณด์ ๐ฅSwift 2023. 11. 3. 09:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ rethrows์ ๋ํด ํ๋ฒ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป rethrows? ์ฐ์ rethrows๊ฐ ๋ญ๊น์? throws๋ผ๋๊ฒ์ ๋ค๋ค ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ ์ํฉ์์ ์๋ฌ๋ฅผ catchํ์ฌ ์๋ฌ๋ฅผ ๋ค๋ฅธ์ชฝ์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋๊ฒจ์ฃผ๋๊ฒ ์ฝ๊ฒ ๋งํด ๋์ ธ์ฃผ๋ ์๋ฏธ์ฃ ? ๊ทธ๋ฐ ๊ด์ ์์ rethrows๋ re + throws์ ๋๋ค. ์ฆ, ๋ค์ ๋์ ธ์ฃผ๋๊ฒ์ธ๋ฐ ๋ ์ฝ๊ฒ ํํํด๋ณด๋ฉด ๋๊ฒจ์ง ์๋ฌ์ ๋ํด ๋ ๋ค๋ฅธ์ชฝ์ผ๋ก ๋๊ฒจ์ฃผ๋๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ด์! ํ .... ๋ง๋ก๋ ์ฌ์ค ๋ณต์กํด๋ณด์ด๊ณ ์ดํด๊ฐ ์๊ฐ ์ ์์ต๋๋ค. ์ผ๋จ ์ฐ๋ฆฌ๊ฐ ์ข์ํ๋? ์ฝ๋๋ก ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ ์ rethrows๋ฅผ ๋ฑ ๊ตฌ๋๋ก ํ์ด์ ์ ์ํด๋ณด๊ณ ๊ฐ์์ฃ ๐ ๊ณต์๋ฌธ์์์๋ rethrows๊ฐ ํจ..