[Swift Concurrency 9편] Sendable 프로토콜

2025. 2. 26. 10:54·📱 iOS/Swift Concurrency

Sendable 프로토콜

비동기 컨텍스트에서 동작할 수 있도록 보장해주는 프로토콜

값 타입의 경우 자동으로 채택

레퍼런스인 클래스의 경우 채택해야 비동기 컨텍스트에서 데이터 경쟁 없이 동작하는 걸 컴파일러로부터 보장 받을 수 있음

클래스가 Sendable을 채택하려면?

아래 3가지를 따라야 함

  • final 로 선언되어야 함
  • 프로퍼티가 모두 Sendable을 채택해야 함
  • 프로퍼티가 모두 let이어야 함 (불변이어야 한다는 뜻)

actor는 Sendable을 채택하고 있음

protocol Actor : AnyObject, [Sendable](<https://developer.apple.com/documentation/swift/sendable>)

Sendable을 채택할 수 있는 것들

  • 값 타입
  • mutable storage 가 없는 참조 타입
  • 내부적으로 상태에 대한 액세스를 관리하는 참조 타입
  • @Sendable로 표시된 함수 및 클로저
저작자표시 (새창열림)

'📱 iOS > Swift Concurrency' 카테고리의 다른 글

[Swift Concurrency 11편] Main Actor  (0) 2025.02.26
[Swift Concurrency 10편] Actor는 한글 키보드로 'ㅁㅊ색' 이란 걸 아시나요?  (0) 2025.02.26
[Swift Concurrency 8편] Task와 구조화된 동시성(= Structed Concurrency)  (0) 2025.02.26
[Swift Concurrency 7편] 비동기 호출에서의 스레드 제어권  (0) 2025.02.26
[Swift Concurrency 6편] Swift Concurrency 등장 배경  (1) 2025.02.26
'📱 iOS/Swift Concurrency' 카테고리의 다른 글
  • [Swift Concurrency 11편] Main Actor
  • [Swift Concurrency 10편] Actor는 한글 키보드로 'ㅁㅊ색' 이란 걸 아시나요?
  • [Swift Concurrency 8편] Task와 구조화된 동시성(= Structed Concurrency)
  • [Swift Concurrency 7편] 비동기 호출에서의 스레드 제어권
kyxxn
kyxxn
컴퓨터공학을 좋아하는 대학생의 공부 일기
  • kyxxn
    컴공 학부생의 공부 일기
    kyxxn
  • 전체
    오늘
    어제
    • 분류 전체보기 (156)
      • 📱 iOS (64)
        • Xcode (10)
        • Swift (17)
        • Swift Concurrency (12)
        • UIKit (21)
        • SwiftUI (0)
      • 🖥️ Computer Science (57)
        • 🏛️ Software Architecture Pa.. (2)
        • 👨🏻‍🎨 Design Pattern (3)
        • Data Structure (4)
        • Algorithm (10)
        • Computer Architecture (4)
        • Operating System (19)
        • Network (15)
      • ✍🏻 회고록 (9)
      • 🎸 기타 (25)
        • 해커톤 (1)
        • git (6)
        • 세미나 (1)
        • 책을 읽고 (1)
        • AOS, Kotlin (6)
        • Reinforcement Learning (9)
  • 블로그 메뉴

    • 링크

      • 깃허브
      • 일상 블로그
    • 공지사항

    • 인기 글

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    kyxxn
    [Swift Concurrency 9편] Sendable 프로토콜
    상단으로

    티스토리툴바