SWIFTUI/Grammar22 SwiftUI : #2 Hello Binding (Example) Binding에 관한 첫번째 게시글을 보시려면 여기를 클릭해주세요. 단방향 바인딩 과 양방향 바인딩 이번에는 어떤것이 Uni Directional Binding(단방향 바인딩) 이며, 어떤것이 Dicrectional Binding(양방향 바인딩)인지 정확히 알아보고 공부해보려고 합니다. 바인딩의 개념을 이해할 수 있도록 간단한 예제를 만들어 보도록 하겠습니다. @State는 변수(name)가 변경 될 때마다 body를 다시 렌더링 한다는 의미입니다. 그런 의미에서 이름을 사용하여 body에 있는 모든것들을 업데이트 하죠. struct ContentView: View { @State var name: String = "" var body: some View { Text(name) } } text에 name.. SWIFTUI/Grammar 2021. 2. 12. SwiftUI : #1 Binding이란 무엇인가? 'Binding에 대해 알아보도록 합시다. Binding은 총 3개의 게시물로 다룰 예정입니다. SwiftUI 에서 중요한 Binding(바인딩)에 대해 알아보겠습니다. 바인딩에 가장 일반적인 방법 또는 방향 중 두 가지는 1. View to View Model 바인딩 2. View Model to View 바인딩 입니다. 그렇다면 View to View Model 바인딩이 무엇일까요? View to View Model TextField를 예로 들어보겠습니다. 아래 사진과 같이 이름과 나이를 쓰는 텍스트필드 박스가 있고, 특정 화면을 제어하거나 표시하는 View Model이 있습니다. 만약 이름과 나이를 입력하면 UserViewModel의 Name/age 속성에 바인딩 됩니다. 자동으로 Name/age .. SWIFTUI/Grammar 2021. 2. 11. SwiftUI : State에 대해 자세히 알아보기 이미 앞 게시물에서 한번 다뤘지만 SwiftUI에서 아주 중요한 부분이기 때문에 한번 더 자세히 다루겠습니다. @State 앞전 게시물에서 수없이 나왔던 @State 와 Struct에 대해서 알아보겠습니다. SwiftUI에서 가장 기본이되고 많이 사용하는 것들이니 꼭 알아두시길 바랍니다. 만약 사용자가 버튼을 누르거나 스크롤을 하거나 텍스트에 상자를 입력했다고 치면, 그 특정 행동은 State 즉, 상태를 변경합니다. 그 이후에 일어날 일은 State가 변경되면 자동으로 변환 시켜주는일을 합니다. 사용자 인터페이스를 업데이트 하는것이죠. 그렇다면 어떻게 이렇게 할 수 있을까요? View를 사용할때 ContentView가 실제로 View 프로토콜을 준수한다는것을 기억해야합니다. Body속성을 작성하죠. 이.. SWIFTUI/Grammar 2021. 2. 10. SwiftUI : 삼항 연산자 / IF 삼항 연사자에 대해 알아보도록 합시다. 삼항 연산자 true ? Text("삼항 연산자는 잘 실행 됩니다."): Text("0") Nil-coalescing : 옵셔널 값을 풀어주는 개념으로 삼항 연사자를 활용해서 쓸 수 있습니다. TIP 연산자 란? 값을 확인, 변경, 결합하는 데 사용하는 특별한 기호나 문구 삼항 연사자에서?는 true, : 는 false 라고 생각하면 좋은데, 예를 들어 useRedText가 true이면 yellow, fasle이면 green으로 배경색을 바뀌게 하고 싶으면 아래와 같이 코드를 작성할 수 있습니다. .background(useRedText ? Color.yellow : Color.green) struct ContentView: View { //useRedText를 f.. SWIFTUI/Grammar 2021. 1. 25. SwiftUI : @State, @ObservedObject / Struct를 Class로 목차 @State 왜 @State는 오직 Struct에서만 작동을 하는가? 앞전 게시물에서 수없이 나왔던 @State 와 Struct에 대해서 알아보겠습니다. SwiftUI에서 가장 기본이 되고 많이 사용하는 것들이니 꼭 알아두시길 바랍니다. 만약 사용자가 버튼을 누르거나 스크롤을 하거나 텍스트에 상자를 입력했다고 치면, 그 특정 행동은 그 State 즉 상태를 변경합니다. 그 이후에 일어날 일은 State가 변경되면 자동으로 변환시켜주는 일을 합니다. 사용자 인터페이스를 업데이트하는 것이죠. 그렇다면 어떻게 이렇게 할 수 있을까요? View를 사용할 때 ContentView가 실제로 View 프로토콜을 준수한다는 것을 기억해야 합니다. Body속성을 작성하죠. 이것이 View 프로토콜의 유일한 요구 사.. SWIFTUI/Grammar 2021. 1. 25. SwiftUI : UIKit와 SwiftUI 구성요소 비교 View and Controls UIKit SwiftUI UILabel Text UITextField TextField UITextField(isSecureTextEntry) SecureField UIButton Button UllmageView Image UISwitch Toggle UISlider Slider UIStepper Stepper UIPickerView Picker(WheelPickerStyle) UISegmentedControl Picker(SegmentedPickerStyle) UIDatePicker DatePicker UITextView TextEditor (일반 문자열에만 해당) UIStackView HStack(가로 방향), VStack(세로 방향) UIScrollView Scro.. SWIFTUI/Grammar 2021. 1. 24. SwiftUI : UserDefaults 정보 수집 및 저장 UserDefaults UserDefaults 를 사용하여 사용자 설정을 저장 할 수 있습니다. 만약 어플에서 버튼으로 숫자를 4까지 올려놓고, 앱을 재실행 했을때 사용자가 눌렀던 카운트 4가 그대로 이어지는것을 볼 수 있습니다. 일단, 버튼을 눌렀을때 1씩 올라가는 화면을 만들어 보겠습니다. struct ContentView: View { //tapCount는 0 으로 지정 @State private var tapCount = 0 var body: some View { Button("Tap count: \(tapCount)") { //버튼이 클릭될때마다 "1"씩 증가 self.tapCount += 1 } } } 이제, UserDefaults를 이용해 정보를 수집하고 저장하는 코드를 만들어 보겠습니다. .. SWIFTUI/Grammar 2021. 1. 24. 이전 1 2 다음 한국어 (기본) English Русский 日本語 👉🏻 잠깐만요! 이 글도 한 번 보고 가세요 이전글 다음글 티스토리툴바 서근 개발노트구독하기