Swift 샘플 코드를 보다보면, 아래의 @State와 같이 생긴 annotation을 자주 볼 수 있다.

@State private var isPlaying: Bool = false

내장되어 있는 옵션과 같이 생긴 이 annotation이, 사실 우리가 직접 정의해서 사용할 수 있는 부분이다!! 예를들어,

@Suhshin private var isCoding: Bool = false

이런 식으로도 사용 가능하다는 것이다. 아니 그렇다면 대체 저게 뭐길래 우리가 마음대로 설정할 수 있는 걸까?

Property Wrapper


SwiftUI로 개발을 진행할 때, 자주 보이는 @State @Binding 등등이 모두 Property Wrapper이다!

Untitled

그렇다면 Property Wrapper가 대체 뭘까?

Untitled