dev._.note

[Swift-UI] Combine이란? 본문

Dev/SWIFT UI

[Swift-UI] Combine이란?

Laena 2023. 12. 18. 20:31

Combine이란?

  • async 작업들을 이벤트 처리 연산자로 결합하여 처리하는 방법
  • 선언적인 프로그래밍 형태로 사용
  • Stream하나를 만들고 그 Stream에 필요한 operator를 덫붙여서 사용하는 선언적인 프로그래밍 방식
// 선언형 프로그래밍인 Combine 예제 코드
$username
  .debounce(for: 0.1, scheduler: RunLoop.main)
  .removeDuplicates()
  .map { $0.count >= 2 }
  .assign(to: \.valid, on: self)
  .store(in: &cancellableSet)
  • 선언적인 프로그래밍이 되면서, 클로저를 이용한 콜백지옥에서 벗어날 수 있는 장점이 존재
  • Combine을 사용하면 이벤트 처리 코드들이 중앙 집중화가 되어 더욱 읽기 쉬운 코드로 구현
    • 만약 Combine이 아닌 async-await나 closure를 사용한다면 어떤 코드가 어디서 실행될지 파악이 어려움이 존재

 

Apply 공식 문서 

 

Combine | Apple Developer Documentation

Customize handling of asynchronous events by combining event-processing operators.

developer.apple.com