분류 전체보기
-
Combine - multicast / shareCombine 2022. 3. 24. 20:01
안녕하세요. 그린입니다🟢 이번 포스팅에서는 다시 컴바인 세계로 돌아와 multicast와 share에 대해 알아보겠습니다🙏🏻 우선 어떤걸 하는 친구들이냐!? 하나의 Publisher로 부터 구독을 한 여러 Subscriber들에게 각각 이벤트를 여러번 발행하는게 아니라 하나의 요소에 한번의 이벤트만 발생시켜줄 수 있도록 해주는 친구들입니다🙌 이번건 꽤나 간단히 이해될 수 있으니 한번 해보시죠! multicast 공식문서를 보면 클로저를 적용해 구독자에게 요소를 전달하는 subject를 만들어준다고해요. 역시 공식문서의 정의는 어려워...🤯 우선 그러려니~ 하고 정의된 코드를 보시죠! func multicast(_ createSubject: @escaping () -> S) -> Publishers.Mul..
-
SwiftUI - @State / @Binding / @StateObject / @EnvironmentObjectSwiftUI 2022. 3. 21. 20:15
안녕하세요. 그린입니다🟢 이번 포스팅에서는 전 포스팅에 이어 SwiftUI에서 구조체 내부에서 값을 변경하여 반영해주거나 전역적으로 값의 업데이트를 반영해주는 그런 친구들인 타이틀의 세친구 즉, @State, @Binding, @StateObject, @EnvironmentObject에 대해서 학습해보겠씁니다🙋🏻 우선 하나씩 차례대로 진행해보겠습니다👍 @State 정의를 먼저보면, SwiftUI에서 값을 읽고 쓸 수 있는 유형의 어노테이션입니다. @frozen @propertyWrapper struct State 역시 propertyWrapper이고 구조체입니다. SwiftUI에서 우선 뷰는 구조체입니다. 즉, 내부 값을 변경해줄 수 없는데 이 @State를 이용해 변경해줄 수 있습니다. 또한 구조체이기..
-
Combine - ObservableObject / @Published / @ObservedObjectCombine 2022. 3. 17. 21:00
안녕하세요. 그린입니다🟢 이번 포스팅에서는 ObservableObject라는 프로토콜에 대해 학습해보겠습니다🙋🏻 추가로 이어져서 @Published와 @ObservedObject도 보시죠! 요즘 개인적으로 많이 바빠져서 블로그를 소홀하게 될 것 같아.. 많은 양을 공부하고 포스팅하는것보다 짧게 학습하고 포스팅하면서 꾸준함을 잃지 않는 전략으로 당분간 가려합니다! (안그러면 어느 순간 놔버릴것 같은....) 그래서 이번에 준비한 주제는 초심부터 찾자! 느낌으로 저번에 Combine의 대표적 개념들을 공부하면서 연결되어 ObservableObject라는 주제를 선정하게 되었네요ㅎㅎ 그럼 신속하게 학습하고 치고 빠져 봅시다🙌 ObservableObject? 공식문서의 정의는 개체 변경 전 방출하는 게시자가 있..
-
UIFeedbackGeneratoriOS 2022. 3. 14. 10:44
안녕하세요. 그린입니다🟢 이번 포스팅에서는 UIFeedbackGenerator에 대해 학습해보겠습니다🙋🏻 우선, 왜 이걸 학습하게 되었는지 얘기를 해볼까 합니다. 프로젝트 수행중에 어떤 유저의 액션에 의해서 (QR이나 바코드를 찍는다던가 하는) 디바이스의 진동 혹은 사운드를 내주고 싶을 경우가 있잖아요? 그럴때 어떠한 액션을 어떻게 구현해주는게 베스트일지 찾다가 요 UIFeedbackGenerator를 발견하고 학습하게 되었어요! 사용법도 되게 단순하고 개념도 간단해서 금방 적용할 수 있었고 이에 대해 단순히 저는 UINotificationFeedbackGenerator만 사용했었는데 이거 말고도 UIFeedbackGenerator을 상속 받는 다른 친구들도 있길래..! 이참에 한번 간략히 정리해보려고 ..
-
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에 대해서는 여러 목차로 순차적으로 진행한적이 있습니다! 그것과 유사..