[SwiftUI] @State
ยท
๐ŸŽ Dev/SwiftUI
@State?   - PropertyWrapper๋กœ, SwiftUI์—์„œ ๋ณ€ํ•˜๋Š” ๋ณ€์ˆ˜์˜ ์ƒํƒœ์— ๋”ฐ๋ผ ๊ฐ’์„ ์ฝ์–ด์ฃผ๊ฑฐ๋‚˜ ๋ฐ”๊ฟ”์ฃผ๋Š” ์—ญํ• (๊ฐ’ ์ž์ฒด X, ์ˆ˜๋‹จ O)์„ ํ•œ๋‹ค. - ํ•ด๋‹น ์†์„ฑ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ณ€์ˆ˜ ์•ž์— @State ๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•œ๋‹ค. - ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝ ํ•  ๋•Œ๋งˆ๋‹ค body์†์„ฑ์ด ์žฌ์„ค์ •๋˜๊ธฐ ๋•Œ๋ฌธ์—, ํ•ด๋‹น state ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ทฐ๋Š” ๋ณ€ํ™”๋ฅผ ๊ฐ์ง€ํ•  ๋•Œ๋งˆ๋‹ค ์ž๋™์œผ๋กœ ๋ทฐ๋ฅผ ์ƒˆ๋กœ ๋ Œ๋”๋งํ•œ๋‹ค. - ์‚ฌ์šฉ์ž ์•ก์…˜์— ๋”ฐ๋ผ UI๋ฅผ ๋ณ€๊ฒฝํ•ด์ฃผ๋Š” ๋ฐ์— ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. - @State๋Š” ์„ ์–ธํ•œ ๋ทฐ ์™ธ์—์„  ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์œผ๋ฉฐ (๋ณ€๊ฒฝํ•˜๋ ค๋ฉด $๋ฅผ ๋ถ™์ธ ๋ฐ”์ธ๋”ฉ์„ ์ด์šฉํ•ด์•ผํ•œ๋‹ค), ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— @State ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋ ค๋ฉด ๊ฐ€์žฅ ์ƒ์œ„ ๋ทฐ์—์„œ ์ž‘์„ฑํ•˜๋ฉฐ private ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ๋ถ™์—ฌ์•ผํ•œ๋‹ค. ---> ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ๋ถ™์ด๋Š” ์ด์œ ๋Š” ์ดˆ๊ธฐํ™”..
[SwiftUI] NavigationView, NavigationStack, navigationTitle
ยท
๐ŸŽ Dev/SwiftUI
Topic:- NavigationTitle ๋„ฃ๊ธฐ- NavigationItem ์„ค์ •       SwiftUI ๋ธ”๋กœ๊ทธ๊ธ€๋“ค์„ ์ฐธ๊ณ ํ•˜๊ธฐ๊ฐ€ ๊ฐ€๋” ์• ๋งคํ•˜๋‹ค๊ณ  ๋Š๊ปด์งˆ ๋•Œ๊ฐ€ ์žˆ๋Š”๋ฐ, ์•„๋ฌด๋ž˜๋„ ์• ํ”Œ์ด ๊ณ„์† ๊ฐœ์„ ํ•˜๊ณ  ์žˆ๋Š” ์ค‘์ด๋ผ ๊ณผ๊ฑฐ(๋ผ๊ธฐ์—” ๋น„๊ต์  ์ตœ๊ทผ์ด์ง€๋งŒ)์— ์“ฐ์—ฌ์ง„ ๊ธฐ์ˆ ๋“ค ์ค‘ Deprecated ๋œ ๊ฒŒ ๋งŽ๋‹ค๋Š” ์  ๊ฐ™๋‹ค. ์‹ค์ œ๋กœ NavigationView๋ฅผ ์‚ฌ์šฉํ•ด์„œ navigationTitle์„ ๋‹จ ๋ธ”๋กœ๊ทธ ๊ธ€๋“ค์ด ๋งŽ์•˜๋Š”๋ฐ, ํ˜„์žฌ๋Š” Deprecated ๋˜์—ˆ๋‹ค. ๊ทธ๋Œ€์‹  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒŒ NavigationStack์ด๋‹ค.         ๋‹ค๋ฅธ ์Šคํƒ๋“ค ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ NavigationStack์ด ๋๋‚˜๋Š” ์ค‘๊ด„ํ˜ธ ๋์—.navigationTitle("Title Text")๋ฅผ ๋ถ™์—ฌ์ฃผ๋ฉด ๋„ค๋น„๊ฒŒ์ด์…˜ ํƒ€์ดํ‹€์ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ์ด๋•Œ, nav..
[SwiftUI] Info.plist
ยท
๐ŸŽ Dev/SwiftUI
SwiftUI๋ฅผ ๋‹ค์‹œ ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  UIKit์—์„œ ์‚ฌ์šฉํ•˜๋˜ ๊ฒƒ๋“ค์„ ์ด๊ฒƒ์ €๊ฒƒ ์ ์šฉํ•ด๋ณด๋˜ ์ฐจ, ๋ฌด์–ธ๊ฐ€ ์ด์ƒํ•œ ๊ฑธ ์ธ์ง€ํ–ˆ๋‹ค.๋ฐ”๋กœ, info.plist๊ฐ€ ํด๋”์— ์—†๋‹ค๋Š” ๊ฒƒ.     ๐Ÿ“Œ Xcode 13 ์ดํ›„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์‹œ ๋งŒ๋“ค์–ด๋ณด๊ณ , ์—ฌ๊ธฐ์ €๊ธฐ ๋ˆŒ๋Ÿฌ๋ด๋„ ๋ณด์ด์ง€ ์•Š์•„์„œ ๊ฒ€์ƒ‰ํ•ด๋ณด์•˜๋Š”๋ฐ Xcode 13 ์ดํ›„ ์• ํ”Œ์ด ์˜๋„์ ์œผ๋กœ info.plist๋ฅผ ์ˆจ๊ฒผ๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์•„๋ž˜๋Š” ๊ณต์‹๋ฌธ์„œ์— ๊ธฐ์žฌ๋œ ๊ด€๋ จ ๋‚ด์šฉ์ด๋‹ค. Projects created from several templates no longer require configuration files such as entitlements and Info.plist files. Configure common fields in the target’s Info tab, an..
[SwiftUI] VStack vs LazyVStack
ยท
๐ŸŽ Dev/SwiftUI
๐Ÿ“Œ   ViewIn SwiftUI, a view can be likened to a viewController in UIKit. It serves as a fundamental building block for constructing user interfaces, allowing users to define the structure and appearance of their app's content.     ๐Ÿ“Œ   VStackAccording to the official documentation, in SwiftUI, a VStack signifies the vertical arrangement of a view's subviews. It's noteworthy that a VStack renders..