목록Swift/Combine (3)
study record
* 'Combine: Asynchronous Programming With Swift' 책을 읽고 작성하는 글입니다. 이 책의 목적: Combine framework를 소개하고, Swift로 선언형 리액티브 앱 작성하기 Combine은 앱의 이벤트 처리에 대한 선언형 접근을 제공한다. 다양한 delegate callback과 completion handler closure 사용보다 하나의 chain을 만들 수 있다. 각 체인의 파트는 이전 스텝으로부터 받은 값들의 고유한 액션을 수행하는 Combine operator이다.Combine이 무슨 프레임워크인지?Combine은 Swift에서 비동기 이벤트 처리와 반응형 프로그래밍을 위해 제공되는 프레임워크 Combine 프레임워크는 Swift에서 제공하는 특..
Future하나의 값을 만들고 끝나거나 실패하는 publisherfinal class Future where Failure : Error 어떤 작업을 수행하고 비동기적으로 하나의 값을 publish 하고자 할 때 future를 사용한다. 첫번째 value를 보내면 스트림이 바로 끝난다.Future.Promise를 받는 클로저로 future를 initialize한다. 성공 또는 실패를 가리키는 Result와 함께 promise를 호출한다.결과가 error인 경우 publishing은 에러와 함께 종료된다. func generateAsyncRandomNumberFromFuture() -> Future { return Future() { promise in DispatchQueue.main..
iOS의 Combine은 Framework이다.이벤트를 처리하는 operators들을 결합함으로써 비동기 이벤트들을 커스텀하게 다룬다.iOS 13 이상에서 사용이 가능하다. OverviewCombine framework는 값을 처리하기 위한 선언형 Swift API를 제공한다. 이 값들은 많은 비동기 이벤트들을 표현할 수 있다. Combine은 시간에 따라 변화할 수 있는 값들을 내보내기 위해 publishers를 선언하고, publishers로부터 이 값들을 받기 위해 subscribers를 선언한다. - Publisher protocol은 시간에 따라 값을 연속으로 전달할 수 있는 타입을 선언한다. Publishers는 upstream publishers로부터 받은 값들에 행동하는 operators를..