@State와 @Binding 비교
각 속성에 알맞은 소유 방식을 선택합니다.
@State와 @Binding 비교은(는) CoddyKit의 무료 SwiftUI Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 SwiftUI Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. SwiftUI Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
두 래퍼, 하나의 목표
@State와 @Binding은 모두 변경 가능한 데이터를 관리하지만 역할은 다릅니다. 올바른 것을 선택하면 소유권이 명확해집니다. 🎯
@State는 소유합니다
이 뷰가 진실 공급원일 때 @State를 사용하세요. @State가 값을 만들고 자체적으로 저장합니다.
@State private var count = 0@Binding은 빌립니다
값이 다른 곳에 있고 이 뷰는 그 값을 읽고 쓰기만 할 때 @Binding을 사용하세요.
@Binding var count: Int누가 값을 만들까요
@State는 값을 초기화합니다. @Binding은 절대 값을 만들지 않고, 항상 값을 소유한 부모 뷰로부터 받습니다.
상태를 private으로 표시하기
@State는 뷰 내부에서만 사용되므로 private으로 표시하세요. 외부에서 접근해 직접 설정할 수 없어야 합니다.
@State private var isOn = false바인딩은 열어 두기
@Binding은 private이 아니어야 합니다. 부모 뷰가 자식 뷰를 만들 때 값을 전달할 수 있어야 하기 때문입니다.
달러 기호 연결
소유자의 @State는 달러 기호를 통해 자식 뷰의 @Binding으로 바뀝니다. 이것이 두 요소를 연결하는 다리입니다.
ChildView(count: $count)트리의 최상위
데이터를 실제로 소유하는 가장 상위의 뷰는 @State를 사용합니다. 그 아래의 모든 뷰는 @Binding으로 상태를 빌립니다.
간단한 규칙
이렇게 질문해 보세요. 이 값을 내가 만드는가? 그렇다면 @State입니다. 부모 뷰가 전달하는 값이라면 @Binding입니다. 이 선택은 거의 틀리지 않습니다.
잘못된 선택, 실제 오류
@Binding을 사용해야 할 곳에 @State를 사용하면 자식 뷰가 복사본을 편집하게 됩니다. 부모 뷰는 변경 사항을 확인하지 못하고 UI가 조용히 동기화되지 않습니다.
같은 값, 두 가지 역할
하나의 데이터가 소유자에서는 @State이고, 빌려 쓰는 모든 뷰에서는 @Binding입니다. 같은 값이지만 책임은 다릅니다. 🔄
빠른 확인
래퍼 선택에 대해 빠르게 확인해 보세요.
복습: 소유할까요, 빌릴까요
값을 소유할 때는 @State를 사용하고, 값을 빌릴 때는 @Binding을 사용하세요. 데이터를 누가 만드는지에 맞는 래퍼를 선택하면 뷰가 동기화된 상태로 유지됩니다. 🧠
AI 튜터와 함께 Swift을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“@State와 @Binding 비교” 강의는 무료인가요?
네 — “@State와 @Binding 비교” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 SwiftUI Academy 강의 전체를 잠금 해제할 수 있습니다. SwiftUI Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“@State와 @Binding 비교”에서 뭘 배우나요?
각 속성에 알맞은 소유 방식을 선택합니다. 브라우저에서 직접 실행하는 실습 코드로 SwiftUI Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
SwiftUI Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 SwiftUI Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“@State와 @Binding 비교” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 SwiftUI Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 SwiftUI Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 자식 뷰에 @Binding이 필요한 이유
- Binding 전달하기
- 재사용 가능한 토글 행 만들기
- @State와 @Binding 비교