• ๋‹ฌ๋Ÿฌ์‚ฌ์ธ์€ two-way binding์„ ํ•  ๋•Œ ์‚ฌ์šฉ๋จ
Text("๋‹น์‹ ์˜ ๋‚˜์ด๋Š” : \(age)")
  • Text์˜ ๊ฒฝ์šฐ ํ”„๋กœํผํ‹ฐ์˜ ์ƒํƒœ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณด์—ฌ์คŒ

  • TextField์˜ ๊ฒฝ์šฐ text๋ผ๋Š” ์ธ์ž์— ํ•„์š”ํ•œ ๊ฐ’์ด Binding
  • two-way binding์€ ํ”„๋กœํผํ‹ฐ์˜ ์ƒํƒœ ๊ฐ’์„ ํ™”๋ฉด์— ๋ณด์—ฌ์ฃผ๋ฉด์„œ ํ•ด๋‹น ์ƒํƒœ๊ฐ’์„ ์—…๋ฐ์ดํŠธ ํ•˜๊ณ , ๊ทธ ์—…๋ฐ์ดํŠธ ํ•œ ๊ฐ’์„ ๋‹ค์‹œ ํ™”๋ฉด์— ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Œ
struct ContentView: View {
    @State private var age = ""
    
    var body: some View {
        VStack {
            TextField("๋‚˜์ด๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค.", text: $age)
            Text("๋‹น์‹ ์˜ ๋‚˜์ด๋Š” : \(age)")
        }.padding()
    }
}
  • two-way binding์€ ํ”„๋กœํผํ‹ฐ ๋ฐ”๋กœ ์•ž์— ๋‹ฌ๋Ÿฌ์‚ฌ์ธ($)์„ ํ”„๋ฆฌํ”ฝ์Šค๋กœ ๋ถ™์—ฌ ๋‚˜ํƒ€๋‚ด์คŒ
  • TextField๋Š” age๋ผ๋Š” ํ”„๋กœํผํ‹ฐ์™€ ๋ฐ”์ธ๋”ฉ ๋˜์–ด ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ๊ฐ’์„ ํ”„๋กœํผํ‹ฐ์— ์—…๋ฐ์ดํŠธ ํ•˜๊ณ , ์ด ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” Text๋Š” ํ”„๋กœํผํ‹ฐ์˜ ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ ์ž์‹ ์˜ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜๊ฒŒ ๋จ

 

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

https://www.hackingwithswift.com/books/ios-swiftui/binding-state-to-user-interface-controls