반응형

🏁 학습할 내용
- RedactionReasons
- 정의
- 사용하는 목적
- 종류
- 바교
🫣 RedactionReasons
✅ 정의
Redaction이란 문서를 다른 사람에게 주기 전에 기밀 혹은 민감한 자료를 지우는 행위를 말함
즉, 뷰의 민감한 데이터를 마스킹할 때, 왜 가려야하는 지를 의미하는 이유

실제 값은 Int, 그리고 OptionSet을 채택하고 있으므로, 비트마스킹 기능 형태로 사용할 수 있다.
🎯 사용하는 목적
| 🔒 민감 정보 숨기기 | 사용자의 개인정보, 예: 이름, 이메일, 전화번호 등 |
| ⏳ 로딩 상태 표현 | 실제 데이터가 아직 준비되지 않았을 때, 스켈레톤 UI 표시용 |
| 🧪 테스트 및 프리뷰 | 뷰의 상태를 다양한 경우로 시뮬레이션할 때 유용 |
❓ 종류
먼저 가리지 않은 형태는 아래 사진과 같고, 각각의 속성을 이용해 가려보자.

invalidated
- 현재 보여진 데이터는 유효하지않아, 새로운 데이터 갱신을 기다리는 상태
- invalidatableContent와 함께 사용


placeholder
- 플레이스 홀더 상태, 로딩 상태중에 사용
- 원본 뷰의 사이즈를 유지하고, 모자이크 처리 상태


privacy
- 개인 정보 보호를 위해 표시되면 안되는 콘텐츠 숨김
- @Environment(\.redactionReasons) 환경변수를 이용해, contains 여부로 분기



custom
- 정의에서 설명했던 것처럼 비트마스킹 형태로 사용하고 싶을 때 커스텀하게 만들 수 있다.
- RedactionReasons의 extension에 사용할 커스텀 reason이유를 명시
- @Environment(\.redactionReasons) 환경변수를 이용해, contains 여부로 분기
- 예) 폰번호 가리기 , 이메일 가리기



출처
https://developer.apple.com/documentation/swiftui/redactionreasons
RedactionReasons | Apple Developer Documentation
The reasons to apply a redaction to data displayed on screen.
developer.apple.com
반응형
'iOS > SwiftUI' 카테고리의 다른 글
| TextEditor에 placeHolder 보여주기 (3) | 2025.08.14 |
|---|---|
| [ThirdParty] SwiftUI-Shimmer 해석하기 (3) | 2025.07.27 |
| BlendMode (0) | 2025.07.26 |
| [@Environment] layoutDirection (0) | 2025.07.26 |
| 스유에서 lineHeight과 letterSpacing 적용하기 (2) | 2025.07.22 |