일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- @Binding
- init?
- NullObject
- @State
- swift6
- SWIFT
- Xcode
- Operater
- subject
- @Environment
- ios14
- RxSwift
- nonisolated
- NavigationLink
- URL(string:)
- nestjs
- dismiss
- operator
- @EnvironmentObject
- SwiftUI
- IOS
- Operators
- Bug
- graphql
- typeorm
- vim
- RxCocoa
- init
- RFC1738/1808
- Creating Operators
- Today
- Total
목록@State (2)
Tunko Development Diary

최대한 짧고 간결하게 요약하면 @State로 선언된 변수에 연결하기 위한 프로퍼티 래퍼가 @Binding 입니다. 하지만 밑도 끝도 없이 이렇게만 이야기하면 이해하기 쉽지 않습니다. SwiftUI 에서의 데이터 흐름을 알게 되시면 쉽게 이해할 수 있습니다. 핵심 키워드는 단일원천자료 (Single Source of Truth) 입니다. swiftUI를 이해하는데 있어 가장 중요한 키워드 같습니다. 동일한 데이터 요소가 여러곳에 나뉘어 중복되지 않고 한곳에서 다루어 지는 것입니다. SwiftUI에서는 각 뷰에 데이터가 들어가게 됩니다. 예를 들어보겠습니다. age라는 변수를 선언하고 나이를 저장합니다. 앱을 구성하면서 여러 뷰를 사용하게 되고 각각 age 정보가 필요한 A, B, C뷰를 생성합니다. ABC..

SwiftUI의 View는 구조체로 구현되어있습니다. value Type인 View 내부에선 var로 선언되더라도 프로퍼티 값을 바꿀 수 없습니다. 구조체는 값 유형이기 때문에 일반적으로 허용되지 않습니다. 에러 메시지 Left side of mutating operator isn't mutable: 'self' is immutable 하지만, SwiftUI에서는 @State 속성래퍼를 사용하여 구조체 내부의 값을 수정할 수 있도록 합니다. @State var age : Int = 0 이렇게만 선언하면 age 값을 SwiftUI가 관리하는 공유 스토리지로 이동됩니다. 공유 스토리지로 이동된 age 값은 SwiftUI가 저장하고 가지고있게 됩니다. SwiftUI에서는 데이터를 기반으로 뷰를 매번 다시 그리..