RedactionReasons

2025. 7. 27. 13:55·iOS/SwiftUI
반응형

🏁 학습할 내용

  • 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
'iOS/SwiftUI' 카테고리의 다른 글
  • TextEditor에 placeHolder 보여주기
  • [ThirdParty] SwiftUI-Shimmer 해석하기
  • BlendMode
  • [@Environment] layoutDirection
Hamp
Hamp
남들에게 보여주기 부끄러운 잡다한 글을 적어 나가는 자칭 기술 블로그입니다.
  • Hamp
    Hamp의 분리수거함
    Hamp
  • 전체
    오늘
    어제
    • 분류 전체보기 (304)
      • CS (30)
        • 객체지향 (2)
        • Network (7)
        • OS (6)
        • 자료구조 (1)
        • LiveStreaming (3)
        • 이미지 (1)
        • 잡다한 질문 정리 (0)
        • Hardware (2)
        • 이론 (6)
        • 컴퓨터 그래픽스 (0)
      • Firebase (3)
      • Programing Langauge (37)
        • swift (32)
        • python (4)
        • Kotlin (1)
      • iOS (132)
        • UIKit (37)
        • Combine (1)
        • SwiftUI (32)
        • Framework (7)
        • Swift Concurrency (22)
        • Tuist (6)
        • Setting (11)
        • Modularization (1)
        • Instruments (6)
      • PS (59)
        • 프로그래머스 (24)
        • 백준 (13)
        • LeetCode (19)
        • 알고리즘 (3)
      • Git (18)
        • 명령어 (4)
        • 이론 (2)
        • hooks (1)
        • config (2)
        • action (7)
      • Shell Script (2)
      • Linux (6)
        • 명령어 (5)
      • Spring (13)
        • 어노테이션 (1)
        • 튜토리얼 (11)
      • CI-CD (4)
      • Android (0)
        • Jetpack Compose (0)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    concurrency
    Tuist
    UIKit
    투포인터
    property
    SwiftUI
    GIT
    lifecycle
    dp
    Spring
    protocol
    백준
    Swift
    dfs
    boostcamp
    AVFoundation
    프로그래머스
    IOS
    dispatch
    CS
  • 최근 댓글

  • 최근 글

  • 반응형
  • hELLO· Designed By정상우.v4.10.0
Hamp
RedactionReasons
상단으로

티스토리툴바