swiftUI
-
What's new in SwiftUI (feat. WWDC 2024)SwiftUI 2024. 7. 8. 18:12
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ๋ถํฐ๋ ์กฐ๊ธ์ฉ ๋ฏธ๋ค์๋ WWDC 2024 ์ธ์ ๋ค์ ๋ค์ ์ดํด๋ณด๋ฉด์ ๊ด์ฌ์๋ ์ฃผ์ ๋ค์ ๋ํด ๋ฆฌ์บก์ ํด๋ณผ๊น ํฉ๋๋ค ๐๊ทธ ์ค์์ ์ฒซ๋ฒ์งธ๋ก ๋ฆฌ์บกํด๋ณผ๊ฒ์ SwiftUI์ ๋๋ค ๐๐ป์ด๋ฒ WWDC 2024์์ SwiftUI์ ์๋ก์ด๊ฒ๋ค์ ์ด๋ค๊ฒ๋ค์ด ๋์๋์ง ํ๋ฒ ์ดํด๋ณด๊ฒ ์ต๋๋ค! ๋ฌผ๋ก , ์ฌ๊ธฐ์๋ ๋ฅํ๊ฒ ๋ค์ด๊ฐ๋ ๋๋์ด ์๋ ์ ๋ฐ์ ์ผ๋ก ์ด๋ค๊ฒ๋ค์ด ์๊ฒจ๋ฌ๋์ง ํบ์๋ณด๋๊ฒ์ด๊ณ ๊ทธ์ ๋ํด ๋ ๋ฅํ ์ฃผ์ ๋ค์ ๋ณ๋ ์ธ์ ์ผ๋ก ๋ ๋ง๋ จ๋์ด ์์ต๋๋ค. ์ฆ, ์ ๋ ํ๋ฒ ๊ฐ๋จํ ํบ์๋ณธ ํ ์ดํ ํฌ์คํ ๋ค์์ ํ๋์ฉ ์๊ฒจ๋๊ฒ๋ค์ ๋ํด ๋ฅํ ์ธ์ ์ ์ ๋ฆฌํด๋ณผ๊นํด์ โบ๏ธ ๊ทธ๋ผ ํจ์ถ๋๊ฒ์ผ๋ก ์์๋ณด์์ฃ ๐ What's new in SwiftUIFresh apps์ด์ SwiftUI๋ฅผ ํตํด ์๋ก์ด ํญ ๋ทฐ ๊ทธ๋ฆฌ๊ณ ..
-
SwiftUI - ContentUnavailableViewSwiftUI 2024. 6. 21. 07:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ ContentUnavailableView์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ContentUnavailableView?ํด๋น ๋ทฐ ๊ตฌ์กฐ์ฒด๋ ์ฌ์ฉ์๊ฐ ์ฑ ์ฝํ ์ธ ๋ฅผ ์ฌ์ฉํ ์ ์์๋ ํ์๋๋ ๋ ์ด๋ธ๊ณผ ์ถ๊ฐ ์ฝํ ์ธ ๋ก ๊ตฌ์ฑ๋ ์ธํฐํ์ด์ค์ ๋๋ค.์ฆ, ๋ฐ์ดํฐ๊ฐ ์์๋ ์๋ค๊ณ ๋ณด์ฌ์ฃผ๋ ๋ทฐ์ธ๋ฐ ์ด๊ฑธ ์ง์ SwiftUI์์ ์ฐ๊ธฐ ์ฝ๊ฒ ์ ๊ณตํด์ฃผ๋ ์ญํ ์ ํ์ฃ .๋ค๋ง, ์ด๋์ ๋ ํ ๊ท๊ฒฉ์ด ์์ด์ ์์ ํ ๋ค๋ฅธ ๋ทฐ๋ฅผ ๋ณด์ฌ์ฃผ๋ ค๋ฉด ์ง์ ๋ง๋ค์ด์ผ ํฉ๋๋ค ๐ฅฒ ๊ทธ๋๋ ํ๋ฒ ์์๋ณด์์ฃ ! ํด๋น ์ธํฐํ์ด์ค๋ iOS 17์์ ๋์์ 17 ์ด์๋ถํฐ ์ฌ์ฉํ ์ ์๊ณ , ์ ์๋ ์ด๋ ์ต๋๋ค. @MainActor @preconcurrencystruct ContentUnavailableView where ..
-
PhotosPicker ์ฌ์ฉํ๊ธฐSwiftUI 2024. 6. 13. 19:43
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ PhotosPicker๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ฌ์ง์ ๊ฐ์ ธ์ค๋๊ฒ์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป iOS 16.0 ์ด์ ๊ธฐ์กด์๋ SwiftUI์์ PhotosPicker ๊ฐ์ ํธ๋ฆฌํ ๋ทฐ ์ปดํฌ๋ํธ๊ฐ ์กด์ฌํ์ง ์์๊ธฐ์ PHPhotoLibrary๋ฅผ ์ด์ฉํด ์ฌ์ฉํ๊ณค ํ์ต๋๋ค.๊ทธ๋ฐ๋ฐ ์ด์ PhotosPicker์ ํตํด ์ฝ๊ฒ SwiftUI์ค๋ฝ๊ฒ ๋ง๋ค์ด๋ณผ ์ ๊ฐ ์๊ฒ ๋์์ด์. ๊ทธ๋ผ ๋ฐ๋ก ์์๋ณผ๊น์? PhotosPickerํด๋น ์ปดํฌ๋ํธ๋ ์ฌ์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฆ, ๋๋ฐ์ด์ค์ ์จ๋ฒ์์ ์์ ์ ์ ํํ๊ธฐ ์ํด Photo Picker๋ฅผ ๋์ฐ๋ ๋ทฐ ์ปดํฌ๋ํธ์ ๋๋ค.์ฝ๊ฒ ๋งํด, ์จ๋ฒ์ ๋์ฐ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ทฐ๋ผ๊ณ ๋ณด์๋ฉด ๋ ๊ฒ ๊ฐ์์ ๐๐ป ์์ฝ์ง๋ง, ์์์๋ ํ๋ฒ ๋งํ๋ฏ ํด..
-
Haptic FeedbackiOS 2024. 6. 11. 19:30
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ iOS์์ Haptic์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป Haptic Feedback์ฐ์ ํ ํฑ ํผ๋๋ฐฑ์ด๋ผ๋๊ฒ์ ์ฑ์ ํตํ ์ธํฐ๋์ ์ผ๋ก ์ฌ๋๋ค์ ์ด๊ฐ์ ์๊ทนํ๊ณ ์ค์ ์ธ๊ณ์ ๋ํ ์น์ํจ์ ์ ๊ณตํด์ค ์ ์๋ ๊ธฐ๋ฅ์ ๋๋ค.์๋ฅผ๋ค์ด, ํํ ๋ง์ด ์ฌ์ฉํ๋ ์ค์์น, ์ฌ๋ผ์ด๋, ์ ๋ ์ ๊ณผ ๊ฐ์ ์ปดํฌ๋ํธ๋ค์์ ์ฌ์ฉ์์ ๋ฐ์์ ๋ฐ๋ผ ์ง๋์ด ์ธ๋ฆฌ๋ ํ ํฑ ๊ธฐ๋ฅ์ ํตํด ํ์คํ ์ํธ์์ฉ์ ์ฃผ๋๊ฒ์ด์ฃ . ํนํ ์์ฆ์๋ VisionOS๊น์ง ๋์์ผ๋ ์ฑ์ด๋ ๊ฒ์ ์ปจํธ๋กค๋ฌ์์ ํ ํฑ ํผ๋๋ฐฑ์ด ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. ์ ํ์์๋ ์๋์ ๊ฐ์ด ํ ํฑ ํจํด์ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋ช๊ฐ์ง ๊ฐ์ด๋๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค ๐ 1๏ธโฃ ์์คํ ์์ ์ ๊ณตํ๋ ํ ํฑ ํจํด์ ์ ์ ํ๊ฒ ์ฌ์ฉ2๏ธโฃ ์ฑ์ด๋ ๊ฒ..
-
XMLParserSwift 2024. 5. 20. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ XMLParser์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋คํธ์ํฌ ํต์ ์ ํ๊ณ ์๋ต๊ฐ์ผ๋ก ๋๋ถ๋ถ JSON ํ์์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ๋๊ฒ์ ์ต์ํ ๊ฑฐ์์.๊ทธ๋ฐ๋ฐ, ๊ฐํน ์ด๋ค ๊ณต๊ณต API๋ค์ XML ํ์์ผ๋ก ์๋ต์ ์ฃผ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.์ ๋ง ๋๋ถ๋ถ์ด JSON์ผ๋ก ์ฃผ๊ธดํ์ง๋ง, ๊ทธ๋๋ XML๋ก ์ค๋คํด์ ํฌ๊ธฐํ ์ ์์ผ๋ XML ์๋ต๊ฐ์ ์ด๋ป๊ฒ ํ์ฑํ๊ณ ๋ทฐ์ ๋ํ๋ผ ์ ์๋์ง ํ๋ฒ XMLParser๋ฅผ ํตํด์ ์์๋ด ์๋ค ๐ ๊ทธ๋ผ ๋ฐ๋ก ๋ ์ธ ๊ณ ! ๐ XMLParser์ฐ์ XMLParser์ ๋ํด ๊ฐ๋ ์ ์์๋ณธ ๋ค์์ ์ค์ ๋ก ์ด์ฉํด๋ณผ๊ป์.XMLParser๋ DTD ์ ์ธ์ ํฌํจํด XML ๋ํ๋จผํธ์ ์ด๋ฒคํธ๋ฅผ ๋ค๋ฃจ๋ ํ์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.์ฆ ์ฝ๊ฒ ๋งํด์ XML ํ์์ ์ฐ๋ฆฌ Swift ๋ชจ๋ธ๋ก ํ..
-
SwiftUI์์ Search Interface ์ถ๊ฐํ๊ธฐSwiftUI 2024. 5. 17. 18:13
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ ์ ๊ณต๋๋ ๋ฉ์๋๋ฅผ ์ด์ฉํด Search Interface๋ฅผ ์ถ๊ฐํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์น๋ฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํด๋ณด๋๊ฑฐ๋ผ๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ํ๋ฒ ์์๋ณผ๊น์? Search Interface?์ฑ์์ ์ปจํ ์ธ ๋ฅผ ๊ฒ์ํ๋๋ฐ ์ฌ์ฉํ ์ ์๋ ์์น ์ธํฐํ์ด์ค๋ฅผ SwiftUI์์ ์ ๊ณตํด์ค๋๋ค.SwiftUI์์ searchable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์ ๊ณตํด์ค๋๋ค.๊ฐ๋จํ ์ด ๋ทฐ ๋ชจ๋ํ์ด์ด๋ฅผ ์ ์ฉํ์ฌ ์๋์ ๊ฐ์ ์์น ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค ๐ ๋ฌผ๋ก ์ด searchable์ด๋ผ๋ ๋ทฐ ๋ชจ๋ํ์ด์ด์ ์ด๋์ ๋ผ์ด์ ๊ฐ ๋ค์ํ ๋ง์ ์ ์ ํ๊ฒ์ ์ ์ฉ์์ผ์ผ ํ์ฃ .๋ณดํต์ ๊ธฐ๋ณธ์ ์ธ searchable ๋ฉ์๋๋ iOS 15 ์ด์..
-
SwiftUI - TableSwiftUI 2024. 5. 13. 18:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ Table ์ปดํฌ๋ํธ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ SwiftUI์์ ํ ์ด๋ธ ํ์์ผ๋ก ๋ทฐ๋ฅผ ๊ทธ๋ฆฌ๋๊ฒ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ฃ .List๋ Stack์ ์ด์ฉํด ๋์ฑ ๋ ์ปค์คํ ํ๊ฒ ๊ฐ๋ฐ์ ํ ์๋ ์์ด์. ์ค๋ ๊ฐ์ด ์์๋ณผ ์ด Table๋ ๋น์ฐํ๊ฒ ๋ชจ๋ ์ปดํฌ๋ํธ๋ฅผ ๋ชฉ๋ก ํํ๋ก ๋ํ๋ผ๋ ์ฌ์ฉํ๋ ์ปดํฌ๋ํธ์ ๋๋ค.์ฌํ๊น์ง๋ ์ฃผ๋ก List๋ฅผ ํตํด ๋ชฉ๋ก์ ๊ตฌํํด์๋ค๋ฉด, Table์ด๋ผ๋๊ฒ๋ ์๋ค๋๊ฑธ ์๊ฐํด๋ณด๋ ์๊ฐ์ด์์ใ ใ ๊ทธ๋ผ ํ๋ฒ Table ์์๋ณผ๊น์? Table์ฐ์ List๋ SwiftUI๊ฐ ๋์จ ์์ ์ธ iOS 13 ์ด์๋ถํฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ์ง๋ง, Table์ iOS 16์์ ๋์จ ๋น๊ต์ ์ผ๋ง ๋์ง ์์ ์ปดํฌ๋ํธ์ ๋๋ค.์ฆ, List๋ก ์ผ์ผํ ์ปดํฌ๋ํธ๋ค์ ..
-
SwiftUI - transformEnvironmentSwiftUI 2024. 5. 9. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ transformEnvironment์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ์ ๋ ์ฌ์ค ์ด ๊ฐ๋ ์ ๋ํด ์ฌ์ฉํด๋ณธ์ ์ด ์์ด์ ๋ชฐ๋์๊ธดํด์!๊ทธ๋ฐ๋ฐ, WWDC๋ฅผ ํตํด SwiftUI์ ๊ธฐ์ด ์์๋ถํฐ ์คํฐ๋ ๋์ค ์๋์ ๊ฐ์ด ์ฒ์๋ณด๋ ๋ฉ์๋๊ฐ ๋ณด์์ต๋๋ค! transformEnvironment? ์ด๊ฒ ๋ญ์ง..?ํด๋น WWDC ์์์ 2021๋ ์ ๊ณต๊ฐ๋ "Demystify SwiftUI"๋ผ๋ ์์์ผ๋ก ํ๋ฐ๋ถ์ ๊ตฌ์กฐ์ ์ธ ์๋ณ์์ ๋ํด ์ค๋ช ํ๋ฉฐ ๋์ต๋๋ค. ๋๋์ ์ ์ญ์ ์ธ ํ๊ฒฝ๋ณ์์ธ Environment ๊ฐ์๊ฑฐ์ธ๊ฑฐ ๊ฐ์๋ฐ ์ฒ์ ์ ํ๊ธฐ์ ํ๋ฒ ์ด๋ ๊ฒ ํ์ตํ๋ฉฐ ๊ธฐ๋กํด๋ณด๊ฒ ๋์์ด์ ๐ ์ธํธ๋ก๊ฐ ๋๋ฌด ๊ธธ์๋๋ฐ, ๊ทธ๋ผ ๋ฐ๋ก ์์๋ณด์์ฃ ๐๐ป transformEnviro..