iOS

SwiftUI 상태 관리

@State, @Binding, @ObservedObject, @EnvironmentObject, @StateObject, 데이터 흐름

22 면접 질문·
Mid-Level
1

SwiftUI 뷰의 로컬 상태를 관리하려면 어떤 property wrapper를 사용하나요?

답변

@State는 뷰 내부의 가변 데이터에 대한 단일 진실 공급원(source of truth)을 생성합니다. SwiftUI는 생명 주기를 자동으로 관리하고 값이 변경되면 뷰를 다시 그립니다. 단일 뷰 내에서 로컬 상태를 변경하기 위한 기본 메커니즘입니다.

2

SwiftUI에서 @Binding property wrapper의 목적은 무엇인가요?

답변

@Binding은 기존의 source of truth에 대한 양방향 참조를 생성합니다. 자식 뷰가 source of truth를 직접 소유하지 않고도 부모의 데이터를 수정할 수 있게 해줍니다. 단일 권한 소스를 유지하면서 부모-자식 간 통신을 하는 데 필수적입니다.

3

SwiftUI 상태 관리에서 @Published의 역할은 무엇인가요?

답변

@Published는 ObservableObject 클래스의 프로퍼티를 관찰 가능하도록 표시합니다. @Published 프로퍼티가 변경되면 클래스가 모든 옵저버에게 알려 뷰의 다시 그리기를 트리거합니다. 클래스와 SwiftUI의 반응형 시스템을 잇는 다리 역할을 합니다.

4

자식 뷰에서 부모의 @State 프로퍼티에 어떻게 접근하나요?

5

@State 대신 @AppStorage를 언제 사용하나요?

+19 면접 질문

다음 면접을 위해 iOS을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기