Combine
-
Combine - ConnectablePublisherCombine 2022. 3. 28. 20:20
안녕하세요. 그린입니다🟢 이번 포스팅에서는 전 시간에서 multicast와 share를 학습하면서 살짝 스치듯이 말하고간 ConnectablePublisher에 대해 학습해보겠습니다🙋🏻 우선 만약 이전 포스팅인 multicast와 share를 못보셨다면 보고 오시는걸 추천해요! https://green1229.tistory.com/230 Combine - multicast / share 안녕하세요. 그린입니다🟢 이번 포스팅에서는 다시 컴바인 세계로 돌아와 multicast와 share에 대해 알아보겠습니다🙏🏻 우선 어떤걸 하는 친구들이냐!? 하나의 Publisher로 부터 구독을 한 여러 Subs green1229.tistory.com 이전 포스팅에서 언급한 ConnectablePublisher에 대한 ..
-
Combine - multicast / shareCombine 2022. 3. 24. 20:01
안녕하세요. 그린입니다🟢 이번 포스팅에서는 다시 컴바인 세계로 돌아와 multicast와 share에 대해 알아보겠습니다🙏🏻 우선 어떤걸 하는 친구들이냐!? 하나의 Publisher로 부터 구독을 한 여러 Subscriber들에게 각각 이벤트를 여러번 발행하는게 아니라 하나의 요소에 한번의 이벤트만 발생시켜줄 수 있도록 해주는 친구들입니다🙌 이번건 꽤나 간단히 이해될 수 있으니 한번 해보시죠! multicast 공식문서를 보면 클로저를 적용해 구독자에게 요소를 전달하는 subject를 만들어준다고해요. 역시 공식문서의 정의는 어려워...🤯 우선 그러려니~ 하고 정의된 코드를 보시죠! func multicast(_ createSubject: @escaping () -> S) -> Publishers.Mul..
-
Combine - ObservableObject / @Published / @ObservedObjectCombine 2022. 3. 17. 21:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 ObservableObject라는 프로토콜에 대해 학습해보겠습니다🙋🏻 추가로 이어져서 @Published와 @ObservedObject도 보시죠! 요즘 개인적으로 많이 바빠져서 블로그를 소홀하게 될 것 같아.. 많은 양을 공부하고 포스팅하는것보다 짧게 학습하고 포스팅하면서 꾸준함을 잃지 않는 전략으로 당분간 가려합니다! (안그러면 어느 순간 놔버릴것 같은....) 그래서 이번에 준비한 주제는 초심부터 찾자! 느낌으로 저번에 Combine의 대표적 개념들을 공부하면서 연결되어 ObservableObject라는 주제를 선정하게 되었네요ㅎㅎ 그럼 신속하게 학습하고 치고 빠져 봅시다🙌 ObservableObject? 공식문서의 정의는 개체 변경 전 방출하는 게시자가 있..
-
Combine - CancellableCombine 2022. 3. 10. 20:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 알아보기로한 Combine의 필수요소 중 마지막인 Cancellable에 대해 알아보겠습니다🙋🏻 Cancellable? Combine의 Cancellable을 공식문서에서 찾아보면 우선 프로토콜입니다. protocol Cancellable 그럼 어떤걸 하느냐? 현재의 이벤트 및 작업에 대해 취소에 대해 지원하는 그대로의 의미를 가집니다. cancel() 메서드를 호출함으로 리소스에 대해 해제해줍니다. 타이머, 네트워크 액세스, 디스크I/O와 같은 사이드 이펙트 발생을 중지해줍니다. 그럼 우선 가장 중요한 메서드인 cancel()을 보시죠! cancle() 작업에 대한 취소 메서드로 아래와 같은 간단한 정의를 가집니다. func cancel() cancel() 호..
-
Combine - SchedulerCombine 2022. 3. 7. 21:04
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combine에서 크게 알아보기로한 4번째 친구 Scheduler에 대해 학습해보겠습니다!🙌 Scheduler? 공식문서에 따르면 클로저를 실행하는 시기와 방법을 정의하는 프로토콜이라고 합니다. protocol Scheduler 이렇게 간단히 선언을 보면 프로토콜입니다! 자 생각해보면 우리가 흔히 사용하던 DispatchQueue나 OperationQueue와 동일한 역할이라고 생각이 듭니다. 즉 메인 혹은 서브 쓰레드 어디에서 해당 클로저를 실행해줄지에 대한거라고 이해하면 쉬울것 같아요. 공식문서의 OverView 전문을 가져와볼께요! You can use a scheduler to execute code as soon as possible, or after ..
-
Combine - SubjectCombine 2022. 2. 28. 09:51
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combine의 Subject에 대해 알아보겠습니다🙋🏻 Subject? 외부 호출자가 요소를 게시할 수 있도록 하는 메서드를 노출하는 게시자라고 공식문서에는 나와있습니다만.. 헷갈리는 말이네요 정말🥲 간단히가 될지 모르겠지만 나름 해석을 해본다면 외부 호출자가 값을 퍼블리쉬 하도록 즉, 값을 방출 하도록 도와주는 친구라고 해석하는게 심신 안정에 도움이 될것 같아요. 선언을 보면 아래와 같이 Publisher 프로토콜을 채택하고 있어요. 즉 이 친구도 Publisher의 개념이라 보면 될것 같습니다. protocol Subject : AnyObject, Publisher 그리고 이 친구는 send(_:)라는 메서드를 가지고 스트림에 값을 에밋해줄 수 있도록 해줍니..
-
Combine - SubscriberCombine 2022. 2. 24. 10:45
안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combine의 Subscriber라는 것에 대해 학습해보겠습니다🙋🏻 우선 이전 포스팅에서 Publisher에 대해 알아보면서 Subscriber와 뗄레야 뗄 수 없어서 같이 설명하는 느낌이 있어서 어떻게 보면 했던 학습 반복일 수도 있습니다. 그렇지만 그보다 이번에 조금 더 Subscriber에 초점을 맞춰 학습해보려해요🚀 (Publisher에 대해 못보신 분이 있다면 아래 포스팅을 참고해주세요!) https://green1229.tistory.com/221 Combine - Publisher 안녕하세요. 그린입니다🟢 오늘부터 진행될 포스팅은 combine에 관한겁니다🙋🏻 이전에 RxSwift에 대해서는 여러 목차로 순차적으로 진행한적이 있습니다! 그것과 유사..
-
Combine - PublisherCombine 2022. 2. 22. 10:23
안녕하세요. 그린입니다🟢 오늘부터 진행될 포스팅은 combine에 관한겁니다🙋🏻 이전에 RxSwift에 대해서는 여러 목차로 순차적으로 진행한적이 있습니다! 그것과 유사하게 combine도 한번 쉬운것부터 차근차근 정리해보면 어떨까해서 시작하게 되었습니다🙌 사실 현업에서 계속 swiftUI와 더불어 비동기 이벤트 처리를 위해 combine을 사용하고 있는데, 막상 combine에 대해서 포스팅한건 RxSwift와 비교하고 대략적으로 이러한거다~라고 개념만 소개했던것 같더라구요🥲 (궁금하신분은 아래 포스팅을 참고해주세요!) https://green1229.tistory.com/137 Combine 안녕하세요. 그린입니다🟢 이번 포스팅에서는 Combine에 대해 학습해보겠습니다🧑🏻💻 Combine을 알기전..