ios
-
SwiftUI 4.0 - ChartsSwiftUI 2022. 6. 10. 07:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ๋๋์ด...!!!!! SwiftUI 4.0์ด ๋์๋ค์ใ ใ ์ด๋ฒ SwiftUI 4.0์์๋ ์ ๊ฐ ์๊ฐํ ๋๋ ์ ๋ง ์ฅ์กฑ์ ๋ฐ์ ์ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค๐ ํนํ ๋ค๋น๊ฒ์ด์ ๋ ๊ทธ๋ ๊ณ .. ๋ค๋น๊ฒ์ด์ ๋...... ๊ทธ๋ ๊ณ ..... ๋ฌดํผ! ์ค๋์ ์ฃผ์ ๋ SwiftUI 4.0์์ ์๋ก ๋์จ API์ธ Charts๋ฅผ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค๐๐ป SwiftUI 4.0์์ ๋ง์ ๊ธฐ์ ๋ค์ด ๋์ ๋์๊ณ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ ๋ง์ต๋๋ค. ์ด์ ํ ํฌ์คํ ์์ ๋ค ๋ค๋ฃจ๋๊ฒ๋ณด๋ค ํ๋์ฉ ์กฐ๊ธ ๋ํ ์ผํ๊ฒ ๋ค๋ค๋ณด๊ธฐ ์ํด ํฌ์คํ ์ ๋๋๊ฒ ์ต๋๋ค๐ Charts? ์ฐจํธ๊ฐ ๋ญ๊น์? ๋ค๋ค ์์๋ ๊ทธ๊ฑฐ์ ๋๋คใ ใ ์ฐจํธ๋ ๊ทธ๋ํ ๋ฑ ์์น๋ฅผ ๊ฐ์ง๊ณ ์ด๋ ํ ์งํ๋ฅผ ๋์ํํด ๋ณด์ฌ์ฃผ๋๊ฒ์ ๋งํ์ฃ . ๊ธฐ์กด์ ์ฐ๋ฆฌ๋ ์ฐจํธ๋ฅผ ๊ทธ๋ฆฌ๋ ค๋ฉด ์ ๋ง ์ฉ์ผ๋ก Path๋ฅผ ์ฃผ๊ณ ์ผ์ผํ ..
-
WWDC 2022 - 2์ผ์ฐจ ๋ฐํ ์์ฝiOS 2022. 6. 9. 08:28
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ค๋์ ๋๋์ด WWDC 2022๊ฐ ์งํ๋์ง ์ผ์ผ์งธ์์! 1์ผ์ฐจ์๋ ๊ฑฐ์ ์ ํ ๋ฐ OS ์๊ฐ๊ฐ ์ด๋ค์ก๊ณ 2์ผ์ฐจ์๋ ๋๋์ด ์ ํ ๊ฐ๋ฐ์๋ค์ด ๊ฐ์ฅ ๋์ฌ๊ฒจ๋ณผ๋งํ ๊ธฐ์ ๋ค์ด ์์์ ธ ๋์์ต๋๋ค! ์ด์ ์ด๋ฒ ํฌ์คํ ์์๋ 2์ผ์ฐจ ๋ฐํ๋ฅผ ์์ฃผ ์ ์ ๋ง๋๋ก ์์ฝํด๋ณด๋ คํด์. ์ ๋ง ์ ๋ง ๊ฐ๋จํ ์์ฝํ๋๊ฒ์ด๊ณ ์ธ๋ถ์ ์ธ ์ฌํญ๋ค์ ์ถ๊ฐ๋ก ํฌ์คํ ํ ์์ ์ด๋ ์ฌ๊ธฐ์ ๋ํ ์ผํ๊ฒ ์ ๋์๊ณ ์ด๋ค ๊ธฐ์ ์ด ์๊ฒจ๋ฌ๋์ง ๊น์ง ํ์ ํ์๊ธฐ์๋ ์ด๋ ต๋ค๋์ ..๐๐ป ๋ํ ์ ๊ฐ ๊ด์ฌ ์๋ ๋ถ์ผ๋ค๋ง ๋ค๋ค WWDC 2022 - 2์ผ์ฐจ์ ๋ชจ๋ ๋ด์ฉ์ด ์๋๊ฑด ์๋๋ผ๋์ ! ์ํด ๋ฐ๋๋๋ค๐๐ป WWDC 2022์์ ๋์จ ๊ธฐ์ ํ์ต Swift 5.7 https://www.hackingwithswift.com/articles/249/whats-n..
-
R.swiftLibrary 2022. 6. 6. 11:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ค๋ ํฌ์คํ ์ R.swift๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํด์ ์์๋ณด๋ คํฉ๋๋ค๐ R.swift? R.swift๊ฐ ๋ญ๊น์? ์ด๋ฆ๋ง ๋ค์ด๋ ์์ ๊ฐ์ด ์ค์ง ์๊ณ ์์ํ์ฃ . ๊ณต์ ๋ฆฌ๋๋ฏธ์์๋ Swift ํ๋ก์ ํธ์์ ์ด๋ฏธ์ง, ํฐํธ, ์ปฌ๋ฌ์ ๊ฐ์ ์ ํ์ ์๋ ์์ฑ ๋ฆฌ์์ค๋ฅผ ์์ฑํด ์ฌ์ฉํ ์ ์๋ค๋ผ๊ณ ์ฅ์ ์ด ์ดํ๋๋ฉด์ ์ค๋ช ์ ํ๊ณ ์์ต๋๋ค. ์ฆ ํ์ํ ์์ ๋ฑ์ ๋ฆฌ์์ค๋ฅผ ์ง์ ๋ณต์กํ๊ฒ ์ฌ์ฉํ๋๊ฒ์ด ์๋ ์๋ ์์ฑ๊ณผ ๊ฐํ ํ์ ์ ํตํด ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๊ฒ๋๋ค. R.swift ์ ์ฉ ์์ ์๋ฅผ๋ค์ด ๊ธฐ์กด์ ํ๋ก์ ํธ์ ํ์ผ์ ์ด๋ฏธ์ง, ํฐํธ, ์ปฌ๋ฌ, ๋ทฐ, ๋ฌธ์์ด ๋ฑ์ ๋ฃ๊ณ ์ฌ์ฉํ ๋๋ ์๋์ฒ๋ผ ์ฌ์ฉํ์ จ์๊ฑฐ์์. let icon = UIImage(named: "settings-icon") let font = UI..
-
NukeUILibrary 2022. 6. 2. 14:31
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ด๋ฏธ์ง ์บ์ฑ์ ์ฒ๋ฆฌํด์ฃผ๋ NukeUI์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐ ์ด๋ฏธ์ง ์บ์ฑ์ ์ฒ๋ฆฌํด์ฃผ๋๋ก ๋์์ฃผ๋ ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก Kingfisher์ NukeUI๊ฐ ์์ฃ ? ๊ทธ๋ฆฌ๊ณ ์์ฆ์ ์ ํ์์ ์ ๊ณตํ๋ AsyncImage๋ก๋ ๋ง์ด ์ฐ์ด๋๊ฒ ๊ฐ๋๋ผ๊ตฌ์. ์ ๋ ์ด์ค์ NukeUI๊ฐ ํธ๋ฆฌํ๋ค๊ณ ์๊ฐํ๊ณ ์ฑ๋ฅ ์ ์ด์ ๋ ์กด์ฌํ๊ธฐ์ ์ด๋ฅผ ํ์ตํด๋ดค์ด์. ๊ทธ๋ผ NukeUI๊ฐ ์ด๋ค๊ฒ์ด๊ณ ์ด๋ป๊ฒ ์ฌ์ฉํ ์ ์๋์ง ์์ธํ ์์๋ณด์์ฃ ! NukeUI? ์์๋ค์ํผ Nuke๋ผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ํ์๋์์ด์. SwiftUI ํ๊ฒฝ์ ๊ฐ์ฅ ์ต์ ํ์์ผ LazyStack๊ณผ ๊ฐ์ด ์ง์ฐ ์ด๋ฏธ์ง ๋ก๋ฉ์ ์ ๊ณตํด์ค๋๋ค. ์ฆ AsyncImage์ ๋น์ทํ๋ค๊ณ ํ ์ ์๊ฒ ์ด์! ๊ธฐ์กด SwiftUI์์ Image๋ผ๋ ๊ธฐ๋ฅ..
-
SwiftLintLibrary 2022. 5. 30. 08:27
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ SwiftLint์ ๋ํด ๋ฟ์ ๋ณด๊ฒ ์ต๋๋ค! ์ฝ๋ ์ปจ๋ฒค์ ์ ์ฒดํฌํด์ฃผ๋ ํด์ด ํ์ํ ์ด์ ์ฐ์ ๋ค๋ค ๋๋ฃ ๊ฐ๋ฐ์์ ํ์ ์ ํ๋ฉด์ ์ฝ๋ ์ปจ๋ฒค์ ์ ๋ง์ถฐ๊ฐ๋ ๊ณผ์ ๋ค์ ๋ง์ด ๊ฒช์ผ์ จ์๊ฑฐ์์. ๋๋ก๋ ํ๋ก์ ํธ๋ฅผ ์ฒ์๋ถํฐ ์์ํด์ ํ์๋ค๊ณผ ํฅ์คํ ํ ๊ทธ๋ผ์ด๋ ๋ฃฐ์ ์๋ฆฝํ๋ฉด์ ์ฝ๋ ์ปจ๋ฒค์ ์ ๊ฐ์ด ์ ์ํ๊ธฐ๋ํ๊ณ ๋๋ก๋ ํ์ ์์ ํ๋ก์ ํธ ๋์ค์ ์กฐ์ธํ๊ฒ ๋์์๋ ์ด๋ฏธ ๊ฐ์ถฐ์ง ์ฝ๋ ์ปจ๋ฒค์ ์ ์ตํ๊ณ ๋ฐ๋ฅด๊ธฐ๋ ํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๊ฒ ๊ฐ์ด ์ปจ๋ฒค์ ์ ์ ๋ฆฝํ๊ณ ๋ง์ถฐ๊ฐ๊ณ ๋ฌธ์ํ๊น์ง ์์ผ ๋งค๋ฒ ์ฐธ๊ณ ํด๋ ๋๋ฌด ์ข์ง๋ง ์ด๋ ๊ฒ ์ ํด์ง ์ปจ๋ฒค์ ๋ค์ ๋ํด Xcode์์ ์ปดํ์ผ ์ ์ด๊ธ๋ ๋ถ๋ถ์ ๋ํด ์๋ ค์ฃผ๊ฑฐ๋ ๋ ๋์๊ฐ ๊ฐ์ ๋ก ์ปจ๋ฒค์ ์ ๋ฐ๋ฅด๊ฒ ํด์ค๋ค๋ฉด ๋๋ฌด ํธํ๊ฒ ์ฃ ? ์ด๋ด๋ SwiftLint, SwiftFor..
-
FlexLayout (7)Library 2022. 5. 26. 10:11
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ๋๋์ด FlexLayout ReadMe์ ๋ง์ง๋ง ์น์ Paddings์ Extra UIView methods์ ๋ํด ํ์ตํ๊ฒ ์ต๋๋ค๐๐ป Padding vs Margin? ์ ๋ฒ ํฌ์คํ ์์๋ Margin์ ๋ํด ๋ค๋ค์ด์. ๊ทธ๋ฐ๋ฐ ์ด๋ฒ์ Padding! ๋๋ค ์ฌ๋ฐฑ์ ์ฃผ๋๊ฒ์ ๋์ผํ๋ฐ ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น์? ์์ฃผ ์์ฃผ ๋น์ทํ์ง๋ง ๊ฐ์ฅ ํ์คํ ์ฐจ์ด๊ฐ ์์ต๋๋ค. ์ฐ์ ์๋ ๋น๊ต ๊ทธ๋ฆผ์ ๋ณด์์ฃ ! ๋์์ธ ๊ฐ๊ฐ์ด ์์ด์ ์ ์กฐํฉ์ด๋ผ๋์ง... ์๋ฌดํผ ์๋ง์ด์ง๋ง ์ด๊ฑธ๋ก ๋๋ณํ ์ ์์ต๋๋ค! ์ ์ฒด์ ์ธ View๊ฐ ์์๊ฒ์ด๊ณ ์ด๊ฒ ์์ ํน์ ๋ถ๋ชจ๋ทฐ๊ฐ ๋ ์ ์์ด์. ์ฌ๊ธฐ์ Content๋ค์ด ๋ด๊ฒจ์. ๊ทธ๋ด๋ Margin์ ๋ณด์๋ค์ํผ Content ์ ์ฒด์ ์์๋ทฐ๊ฐ ์ฌ๋ฐฑ์ ๋ํ๋ ๋๋ค. ์ฆ ์ธ๋ถ..
-
FlexLayout (6)Library 2022. 5. 23. 14:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ ๊ฑฐ์ ๋ค์์ด์..! FlexLayout ๋ฆฌ๋๋ฏธ ๋ฟ์๊ธฐ์ ๋ง์ง๋ง ๋ฐ๋ก ์ ์น์ ์ธ Margins์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค๐ Margins ๋ง์ง์ด ๋ญ๊น์? ๋ง์ง์ ์ฌ๋ฐฑ์ ์๋ฏธํฉ๋๋ค. ์ฆ ํด๋น ๋ทฐ๊ฐ ์ด๋ค ๋ทฐ๋งํผ์ ๊ธฐ์ค์ผ๋ก ์ด๋์ ๋ ์ฌ๋ฐฑ์ ๊ฐ์ง๊ณ ์๋๊ฐ ๋ง์ง์ ๋๋ค. ์ฆ ์๊ฒ ์ชผ๊ฐ์ ๋ณด๋ฉด ์ด ๋ทฐ๊ฐ ๊ฐ์ง ์ ์๋ ์ฌ๋ฐฑ ๋ฐฉํฅ์ 4๋ฐฉํฅ์ ๋๋ค. ์,์๋,์ข,์ฐ๐๐ป ์ด ๋ฐฉํฅ์์ ๊ฐ์ ๋ ๋ฒจ์ ๋ทฐ ํน์ ์์๋ทฐ์์ ์คํ์ ์ ์ง์ ํด์ค๋๋ค. ๊ทธ๋ผ Margin์ ์ ์ฉํ ์ ์๋ ๋ฉ์๋๋ค์ ๋ํด ์์๋ณด์์ฃ ๐๐ป Margins์ ์ฌ๋ฌ๊ฐ์ง ๋ฉ์๋ 1. marginTop(_ value: CGFloat) / marginTop(_ percent: FPercent) - CGFloat ํน์ ํผ์ผํธ ๊ฐ์ผ๋ก..
-
FlexLayout (5)Library 2022. 5. 20. 09:45
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค๐ข ์ด๋ฒ ํฌ์คํ ์์๋ FlexLayout์ Adjusting the Size ๋ชฉ๋ก์ ๋ ํํด๋ณด๊ฒ ์ต๋๋ค๐ Adjusting the size? ํด์ํ๋ฉด ์ฌ์ด์ฆ๋ฅผ ์ ์ฉํ๋ค ์ ๋๋ค. UI ์์ ๋ฐ ๋ทฐ๋ค์ ๋ ์ด์์์ ์ก์ผ๋ฉด์ ๊ฐ์ฅ ์ค์ํ๋ค๊ณ ๊น๋ค๋ก์ด๊ฒ์ด ์ด ์ฌ์ด์ฆ์ฃ ๐ฅฒ ๋์์ด๋์ ํ์ ์ ํผ๊ทธ๋ง ๋ฑ์ ํด์ ์ฌ์ฉํด ๊ฐ ์ปดํฌ๋ํธ๋ค์ด ์ด๋ค ์ฌ์ด์ฆ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์ต๋/์ต์ ์ฌ์ด์ฆ๋ ์ด๋ป๊ฒ ์ค์ ๋์๋์ง๋ฑ์ด ๊ธฐ์ฌ๋๊ฑธ ๋ณด๊ณ ๊ฐ๋ฐ์๋ ๊ทธ๊ฑธ ์ฝ๋๋ก ๊ตฌํํด์ค์ผํฉ๋๋ค. ์ด๋ฌํ ์์ ์ด ์๋ค๋ฉด ์ํ๋ ๋์์ธ๊ณผ๋ ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ๊ฑฐ์์! ๊ทธ๋ ๊ธฐ์ ์ฌ์ธ ์ ์์ง๋ง ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค๐ ์ฌ์ด์ฆ๋ฅผ ์ ์ฉ์ํค๋ ๋ฉ์๋ ํฌ๊ฒ 3๊ฐ๋ก ๋๋ ์ ์๊ณ ๋ ๊ทธ ์์์ CGFloat๋ก ์์น๋ฅผ ์ค๊ฒ์ธ์ง ํผ์ผํธ๋ก ์์น๋ฅผ ์ค๊ฒ์ธ..