• Swift 오픈소스 패키지의 연장선
  • github.com/apple/swift/swift-async-algorithms
  • AsyncSequence를 사용해서 시간에 따른 값을 처리하는 알고리즘들을 모아놓았다.
  • 여러개의 asyncSequence를 합치는 알고리즘
    • ex) Zip, Merge
  • 시간을 다루는 알고리즘
    • Swift 5.7에 추가된 Clock API를 활용
    • Clock 프로토콜 개요
      • 두 가지 기본 연산을 정의
        • 쉬었다가 주어진 시간 후에 깨어나기
        • 현재에 해당하는 값 구하기
      • 기본 제공 구현체
        • ContinuousClock: 시스템이 sleep상태여도 계속 증가한다.
          • 실제 시간 측정
        • SuspendingClock: 시스템이 sleep상태면 증가를 멈춘다.
          • 디바이스 시간 측정
          • 애니메이션 딜레이 측정
    • ex) Debounce
  • 그루핑 알고리즘
    • ex) chunks(시간, 갯수, 컨텐츠 기반)
  • AsyncSequence → Sequence로 가는 생성자 제공
  • 그 외도 수 많은 알고리즘들을 제공