์ ์ฒด ๊ธ
-
Consume noncopyable types in Swift (feat. WWDC 2024)Swift 2024. 11. 18. 18:58
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์ WWDC 2024์ Consume noncopyable types in Swift์ด๋ผ๋ ์ธ์ ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ธ์ ์ฃผ์ ๋ง ๋ณด๋ฉด Swift์์ ๋ณต์ฌํ ์ ์๋ ์ ํ ์๋นํ๊ธฐ๋ผ๊ณ ํด์ํด๋ณผ ์ ์์ด์ ๐ ๊ทธ๋ผ, Swift์์ ๋ณต์ฌ๊ฐ ๋ญ๊ณ ์ธ์ ๋ณต์ฌ ๋ถ๊ฐ๋ฅํ ์ ํ์ ์๋นํด์ผํ๋์ง ๊ทธ๋ฆฌ๊ณ ๊ฐ ์์ ๊ถ์ ํตํด ์๋๋ฅผ ๋ช ํํ ์ด๋ป๊ฒ ํํํ ์ ์๋์ง ๋ฑ์ ์ง์ค์ ์ผ๋ก ๋ค๋ค๋ณด์์ฃ ๐๐ป Consume noncopyable types in Swift์ต๊ทผ Swift์์ ๋ณต์ฌํ ์ ์๋ ์ ํ์ ๋์ ํ์ต๋๋ค. ์์ธํ ์์๋ณด๊ธฐ ์ ๋ณต์ฌ๋ ๋ฌด์์ธ์ง๋ถํฐ ์์๋ณด์์ฃ ! Copying ํด๋น ํ๋ ์ด์ด๋ผ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ๊ฐ์ง ์ธ์คํด์ค๊ฐ ์๊ณ ๊ทธ ์ธ์คํด์ค๋ฅผ player2์ ํ ๋นํ๋ฉด ๋ณต์ฌ๊ฐ ์ผ์ด..
-
Pagination (feat. SwiftUI & MVVM)SwiftUI 2024. 11. 15. 18:56
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ํ์ด์ง๋ค์ด์ ๊ธฐ์ด์ ๋ํด ๊ตฌํํด๋ณด๋ ค ํฉ๋๋ค ๐๐ป๊ทผ๋ฐ, SwiftUI์ MVVM์ ๊ณ๋ค์ธ.. ๊ฑฐ๊ธฐ๋ค Concurrency๋ ๊ณ๋ค์ธ~ ์ฌ์ค ๊ฐ๋ ์ ์ผ๋ก ์ด๋ ค์ด๊ฒ ์ ํ ์๋๊ธฐ์ ๋ฐ๋ก ๋ค์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค! Pagination?ํ์ด์ง๋ค์ด์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํ์ด์ง๋ก ๋๋ ์ ๋ค๋ฃจ๋ ๊ธฐ์ ์ด์ฃ .์๋ฅผ ๋ค์ด, ์๋ฒ์ ํต์ ์ํด์ ๊ฒ์๊ธ์ ๋ณด์ฌ์ค์ผํ๋ ๋ฐ์ดํฐ๊ฐ ๋ฌด์ํ ํ ๋ง๊ฐ์ฏค ๋ง๋ค๊ณ ์๊ฐํด๋ณผ๊ป์.๊ทธ๋ฌ์๋ ์ด ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ๋ฒ์ ๋ค ๊ฐ์ ธ์ค๊ณ ๋ ๋ณด์ฌ์ค๋ค๋๊ฑด ๊ต์ฅํ ์ฑ๋ฅ ๋ญ๋น์ผ๊ฑฐ์์.ํ ํ๋ฉด์ ์คํฌ๋กค์ ๋ด๋ฆฌ๊ฑฐ๋ ๋ค์ ํ์ด์ง๋ก ๋์ด๊ฐ์ง ์๋ ์ด์ 10๊ฐ์ ๋๋ง ๋ณด์ฌ์ค ์ ์์๋ ๋จ๋์ง 9990๊ฐ๋ ์์ง ๋ณด์ฌ์ค์๋ ์๋๋ฐ๋ ๋ค๊ณ ์์ด์ผ ํ๋๊น์ ๐ฅฒ ๊ทธ๋์, ํ์ด์ง๋ค์ด์ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์..
-
SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ ๋ง๋ค๊ธฐ (feat. ZStack)SwiftUI 2024. 11. 14. 15:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ตฌํํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป SwiftUI๋ก ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ ๋ง๋ค๊ธฐ์ฌ์ค ํ ๋๋ฆฌ ์ค๋ฒ๋ ์ด ํจ๊ณผ๋ผ๊ณ ํ๋ฉด ์ด๋ค๊ฑด์ง ๊ฐ์ด ์์ฌ ์ ์์ฃ !ํ ๋๋ฆฌ์ ์๋์ฐ๋ฅผ ์ ํ๊ฑฐ๋ ์ด๋ค ๋ทฐ๋ฅผ ์ค๋ฒ๋ ์ด๋ก ๊น๋๊ฒ์ ๋งํ ์๋ ์๊ณ , ๋๋ฌด ์ฌ์ฉ๋ฒ์ด ๋ค์ํ๊ธฐ์ ๊ตฌํ๋๋ ๊ฒฐ๊ณผ๋ฌผ์ ์์ํ์๋ ๋๋ฌด ๋ฌด๊ถ ๋ฌด์งํ์ฃ ! ๊ทธ๋์, ๋จผ์ ์์๋ฅผ ๋ณด์ด๊ณ ์ด๋ฐ๊ฑธ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํ๋ค~ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค ๐ ์๋ฐ ๋ทฐ๋ฅผ ๋ง๋ค์ด๋ณด๋ ค๊ณ ํด์.์ฝ๊ฐ ๊ณต์ฑ ๋์์ธ ๊ฐ๊ธฐ๋ํ์ฃ ?์ฌ๊ธฐ์ ์ค๋์ ์ฑ๋ฆฐ์ง๋ ์ ์ด๋ก์ ๋ทฐ๋ฅผ ํ ๋๋ฆฌ ์์ ๊ฒน์ณ ์ฌ๋ฆฌ๋๊ฒ๋๋ค.์ฆ, ๊ณต์ฑ ์์๋ ์คํ๋ง ๋ถ๋ถ์ด ์๋๋ฐ, ์ด๋ป๊ฒ ๋ณด๋ฉด ์ ์ด๋ก์ ๋ทฐ๊ฐ ์คํ๋ง์ ํํํ๋๊ฑฐ๋ผ๊ณ ๋ณด๋ฉด ๋ ๊ฒ ๊ฐ์์. ๊ฐ์ฅ ..
-
SwiftUI์ Text์ stroke ์ ์ฉํ๊ธฐSwiftUI 2024. 11. 7. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ Text์ ํ ๋๋ฆฌ์ stroke๋ฅผ ๋ฃ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ๋ฒ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๊ฐ๋จํ๊ธฐ๋ ํ๊ณ ์ ๊ฐ ํ์ํด์ ํ๋ฒ ๋ชจ๋ํ์ด์ด๋ก ๋นผ๋ณด๋ฉด์ ๋ง๋ค์ด๋ณผ๊นํด์! SwiftUI์ Text์ stroke ์ ์ฉํ๊ธฐSwiftUI์์๋ Text์ stroke๋ฅผ ๋ฃ์ ์ ์๋ ๋ชจ๋ํ์ด์ด๊ฐ ์๋๊ฑธ๋ก ์๋๋ค ๐ฅฒ ๊ทธ๋์ ์ฐ๋ฆฌ๋ UIKit์ ํ์ฉํ๊ฑฐ๋ SwiftUI์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ํ์ด์ด๋ค์ ์ด์ฉํด stroke๋ฅผ ๋ง๋ค์ด ๋ณผ ์ ์์ด์! ์ฐ์ shadow๋ฅผ ์ด์ฉํด์ ํ ๋๋ฆฌ๋ฅผ ๊ตฌํํด๋ณผ ์ ์์ด์. shadow๋ ๊ทธ๋ฆผ์๋ฅผ ์ฃผ๋ ํจ๊ณผ๋ฅผ ๋งํ์ฃ ? struct ContentView: View { var body: some View { Text("ํ ๋๋ฆฌ ํจ๊ณผ") ..
-
What's new in USD and MaterialX (feat. WWDC 2024)Apple 2024. 11. 4. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ WWDC 2024์์ ์๊ฐ๋ USD์ MaterialX์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ์ฐ์ ์ ๋ USD์ MaterialX๊ฐ ๋ฌด์์ธ์ง ์๋ชจ๋ฆ ๋๋คใ ใ WWDC 2024 ์ธ์ ๋ค์ด ๋ญ์๋ ๋๋ฌ๋ณด๋ค๊ฐ ์์ ์ฒ์ ์ ํ๊ณ ๋ชจ๋ฅด๋ ๋ถ์ผ๊ฐ ์์ด์ ํ๋ฒ ์ฐ๋จนํด๋ณด๊ณ ์ถ์ด์ ์ธ์ ์ ๋ณด๋ฉฐ ์ ๋ฆฌํด๋ด ๋๋ค ๐ What's new in USD and MaterialXUSD๋ Universal Scene Description์ ์ฝ์์ด๋ฉฐ, MaterialX์ ๋๋ถ์ด ์ด๋ฐ ๊ธฐ์ ์ด 3D ์ปจํ ์ธ ์ ์ ๋ฐ ์ ์ก์ ๊ธฐ๋ฐ์ ์ด๋ฃจ๋ ์๋ฆฌ์ ๊ณต๊ฐ ๊ฒฝํ ์ ์์ ์ํด ์ํฌํ๋ก๋ฅผ ๊ฐ์ํ ํ๋๋ฐ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด์ฃผ๋ ์ธ์ ์ ๋๋ค. ์ข ๋ ๋ค์ด๊ฐ์ RealityKit๊ณผ Storm์ USD ๋ฐ M..
-
SwiftUI๋ฅผ ์ด์ฉํ ์ธํฐ๋ํฐ๋ธ ์ ๋๋ฉ์ด์ SwiftUI 2024. 11. 1. 18:50
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ์ ๊ฐ ํ์ํด์ ๊ตฌํํด๋ณด๋ค๊ฐ ์ด๋ฐ๊ฒ๋ SwiftUI๋ก ์ฝ๊ฒ ๊ตฌํํ ์ ์๊ตฌ๋ ํ๋๊ฑธ ์๊ฐํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ๋ฐ๋ก SwiftUI๋ฅผ ์ด์ฉํ ์ธํฐ๋ํฐ๋ธ ์ ๋๋ฉ์ด์ ์ด ๊ทธ ์ฃผ์ ์ ๋๋คใ ใ ์ด๋ฒ ํฌ์คํ ์ ๊ฐ๋ ์ ์ธ ์ค๋ช ๊ทธ๋ฐ๊ฒ๋ณด๋ค ์ค์ ๊ตฌํ์ ๊ธฐ๋ฐํ๊ณ ์๊ธฐ์ ์ฝ๋๋ฅผ ์ฃผ์๊น๊ฒ ๋ณด๋๊ฒ์ด ์ข์๊ฒ ๊ฐ์ต๋๋ค! โ ๏ธ ์ธํฐ๋ํฐ๋ธ ์ ๋๋ฉ์ด์ ์ธํฐ๋ํฐ๋ธ๊ฐ ๋ญ๊น์? ์ด๋ฐ ๋ป์ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ตฌ๊ธ AI, ์ฌ๋ฏธ๋์ด๊ฐ ๋งํด์ฃผ๋ค์. ์ฆ, ์ธํฐ๋ํฐ๋ธ ์ ๋๋ฉ์ด์ ์ด๋ผ๋๊ฒ์ ์๋ฐฉํฅ์ ์ ๋๋ฉ์ด์ ์ ๋ปํ๊ฒ ๋๋๊ฒ๋๋ค.์ฌ์ฉ์์ ์ ๋ ฅ์ด๋ ๋์์ ๋ฐ์ํด ๋ณํํ๋ ๋์ ์ธ ์ ๋๋ฉ์ด์ ์ ๋งํด์.๊ทธ๋ฐ ๊ตฌํ์ ์ ๋ง ๋ฌด๊ถ๋ฌด์งํ๊ฒ ์๊ฐํ๋๋ก ํผ์ณ๋ณผ ์ ์๊ฒ ์ง๋ง, ์ ๋ ํ๋์ ์์๋ฅผ ๊ฐ์ง๊ณ ๊ทธ ์ธํฐ๋ํฐ๋ธ ์ ๋๋ฉ์ด์ ๊ตฌํ์ ์ดํด..
-
SwiftUI - Color ํผํฉํ๊ธฐSwiftUI 2024. 10. 28. 18:45
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ ๊ฐ๋จํ SwiftUI์ ์๋ก์ด ๊ธฐ๋ฅ์ ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป๋ฐ๋ก SwiftUI์์ ์์์ ์ ์ฉ์ํค๋ Color๋ฅผ ์ฌ์ฉํ ๋ ์๋ก ๋์จ mix ๋ฉ์๋๋ฅผ ์ด์ฉํด ์ปฌ๋ฌ๋ฅผ ํผํฉํ์ฌ ์๋ก์ด ์ปฌ๋ฌ๋ฅผ ๋์ถํด๋ด๋ณด๋๊ฒ์ด์ฃ ! ์ ๋ง ๊ฐ๋จํ ๋ฐ๋ก ์์๋ณผ๊น์? Color mix์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก Color ํ์ ์ ๊ฐ๋จํ ์ง๊ณ ๋์ด๊ฐ๋ณผ๊ป์. Color๋ SwiftUI์์ ์์์ ํํํ๋ ๊ตฌ์กฐ์ฒด์ ๋๋ค. @frozenstruct Color ํํํ๋ ๋ฐฉ์์ผ๋ก๋ ์์ ์นดํ๋ก๊ทธ์์ ์์์ ๋ก๋ํ๊ฑฐ๋, RGB ๊ฐ์ ๋ฃ๊ฑฐ๋ ์์กฐ, ์ฑ๋, ๋ฐ๊ธฐ ๋ฑ์ ์ง์ ํ์ฌ ํธํ๊ฒ ํํํ ์ ์์ด์. let aqua = Color("aqua")let skyBlue = Color(red: 0.4627, green: 0...
-
SwiftUI - ContainerValueKeySwiftUI 2024. 10. 24. 18:52
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ ContainerValueKey์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ContainerValueKeyiOS 18์์ ๋์จ ๊ฐ๋ ์ผ๋ก ์ปจํ ์ด๋ ๊ฐ์ ์ ๊ทผํ๊ธฐ ์ํ ํค์ ๋๋ค. protocol ContainerValueKey ์ต์ํ PreferenceKey์ฒ๋ผ ํ๋กํ ์ฝ์ด๋ฉฐ ๋น์ทํ์ง๋ง, ์กฐ๊ธ ๋ค๋ฅธ ์ฐจ์ด๊ฐ ์์ด์. ์กฐ๊ธ ๋ ์ฐจ์ด๋ฅผ ์ง์ด๋ณผ๊น์? PreferenceKey๋ ํน์ ๋ทฐ์์ ๊ณ์ฐ๋ ๊ฐ์ ๋ทฐ์ ์ ๋ฌํ๋ ์ญํ ๋ก ๋ง์ด ์ฐ์ด์ฃ .์ฆ ๋ฐ์ดํฐ๋ ์์ ๋ทฐ์์ ์์ ๋ทฐ๋ก ์ ํ๋ฉ๋๋ค.๋ ์ด์์์ ์ ๋ณด๋ฅผ ์ ํํ๊ฑฐ๋ ์ฌ๋ฌ ํ์ ๋ทฐ์์ ๋ฐ์ดํฐ๋ค์ ๋ชจ์์ ์์ ๋ทฐ์์ ์ฒ๋ฆฌํ ๋ ๋ง์ด ์ฌ์ฉํ์ฃ . struct SizePreferenceKey: PreferenceKey { static..