Swift의 Combine - Combine 이란?

June·2023년 3월 8일
0

Combine

목록 보기
1/2
post-thumbnail

Combine 이란?

시간에 따라 이벤트를 처리할 수 있도록 만든 선언적 Swift API를 제공하는 프레임워크로, Operator를 결합해 비동기 이벤트를 처리하도록 커스터마이징 가능하다.

  • iOS13 이상에서 사용 가능
  • SwiftUI와 바인딩 됨

Combine의 구성요소

Publisher (이벤트 발생)

알려내기 위해 생산하고 내보냄을 의미.
데이터를 한 번에 또는 시간에 걸쳐 밖으로 밀어낼 수 있는 타입.

Operators (이벤트 가공)

Publisher와 Subscriber사이의 파이프라인에 더할 수 있는 기능.
데이터를 가져와 작업을 수행한 후 새로운 데이터를 재게시. 즉, Operator는 Publisher과 같다고 볼 수 있다.
SwiftUI에서 Modifier를 사용하듯, Operator는 Publisher를 수정한다.

Subscribers (이벤트 소비)

어떤 것을 받도록 준비함을 의미.
Publisher로부터 데이터를 수신할 수 있다.

Combine은 Publishers와 Subscribers, Operators로 구성되어 있다.
Publishers는 파이프라인을 통해 Subscribers에게 데이터를 전송하는데, 그 Publishers는 Operators를 통해 가공되어질 수도 있다.


Operator 예시

SwiftUI에서 Modifier를 사용해 뷰를 가공하는 것처럼,

// SwiftUI

Text("Hi")
    .font(.largeTitle)
    .bold()
    .padding()

Operator는 Publisher를 가공하는 역할을 한다.

// Combine

MyStringArrayPublisher    
    .fakeOperatorToRemoveDuplicates()    
    .fakeOperatorToRemoveNils()    
    .fakeOperatorToFilterOutItems(thatBeginWith: “m”)    
profile
안다고 착각하지 말기

0개의 댓글