진즉에 나오지... 공부 또 해야 하넹.. Combine

swift_combine.png

개요

RxSwift로 비동기 함수형 프로그래밍이 대 유행을 하면서 iOS에서 기본적으로 비동기 함수형 프로그래밍을 제공하기 위해 Combine을 제공하기 시작했다.

비동기 프로그래밍을 작성하기 쉽고 코드 가독성을 높일 수 있다.

Combine에 대해 공부 해 보자

RxSwift vs Combine 환경정보 비교

스크린샷 2022-03-30 오후 4.40.10.png

저희 회사의 경우에는 최소 버전이 낮아 컴바인을 사용을 할 수가 없다..😥

언제가 쓰는 날이 오겠지...

RxSwift vs Combine 비교

스크린샷 2022-03-30 오후 4.42.56.png

FireShot Capture 012 - rxswift-to-combine-cheatsheet_operators.csv at master · CombineCommun_ - github.com.png

컴바인이 제공 해 주는 컴퍼넌트, 오퍼레이터가 없어 보일 수 있지만 결국 똘똘하신 개발 형님들께서 RxSwift 기능들을 다 만들어 놓아주셨다.

(고마운 형님들..)

https://github.com/CombineCommunity/CombineExt

이거 패키지 땡겨서 사용하면 RxSwift 컴퍼넌트, 오퍼레이터 모두 다 사용 가능하다.

Combine 가지고 놀기

import Quick
@testable import RibsDog

class LoggedInInteractorTests: QuickSpec {
    override func spec() {
        // Given
        describe("LoggedIninteractor 테스트") {
            beforeEach {
                // prepare
            }
            // When
            context("액티브를 호출하면") {
                // Then
                it("내부 변수 초기화가 되었는지 확인 해야 함.") {
                }
            }
        }
        
        // Given
        describe("LoggedIninteractor 테스트") {
            beforeEach {
                // prepare
            }
            // When
            context("requestStart 호출하면") {
                // Then
                it("TicTacToe로 라우팅 돼야 함") {
                }
            }
        }
    }
}