iOS/SwiftUI

RedactionReasons

Hamp 2025. 7. 27. 13:55
반응형

🏁 학습할 내용

  • 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

 

반응형