Daily iOS
SwiftUI

뷰 정체성(identity)

다음 코드에서 isCompact를 토글하면 텍스트 필드에 입력하던 내용이 사라집니다. 이유를 SwiftUI의 '정체성' 개념으로 설명해 주세요.

var body: some View {
    if isCompact {
        SearchField().padding(4)
    } else {
        SearchField().padding(16)
    }
}
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

if/else 두 분기는 구조적으로 다른 위치라 서로 다른 정체성을 갖는다. 토글 시 한 뷰가 제거되고 다른 뷰가 새로 생성되어 그 안의 @State가 리셋된다.

받은 질문 공유