RxSwift
-
RxSwift 스터디 계획 따라가기RxSwift 2021. 7. 12. 15:44
https://github.com/fimuxd/RxSwift fimuxd/RxSwift RxSwift를 스터디하는 공간. Contribute to fimuxd/RxSwift development by creating an account on GitHub. github.com 위의 있는 Chapter 별로 스터디 따라 가기. Section I: Getting Started with RxSwift Ch#Chapter SubjectQuestionNote 여기 내가 공부한 링크 하나씩 추가하기! 1 Hello RxSwift! - RxSwift 개요 https://kkimin.tistory.com/33?category=955083 2 Observables - just, of, from, subscribe.empt..
-
RxSwift SubjectRxSwift 2021. 7. 9. 10:32
보통 변수로 선언해야할때 사용합니다. 위의 말은 저장해두고, 계속 접근해서 뭔가 변경이 일어난다거나 등등의 일이 일어날 경우를 말한다. (그럴 필요가 없다면? Observable을 고려해 보자) Subject 4가지가 있습니다. 각각 subscribe 한 애한테 어떤식으로 전달하는지 보면됩니다. BehaviorSubject : subscribe 하면 이벤트 발생을 알려주는건 public과 동일, 다른점은 오로지 초기값! => 즉 publisSubject이랑 비슷하지만 초기값을 가지고 있다고 보면 됨. subscribe 했을때 즉시 현재 저장된 값을 이벤트로 발생하고 이벤트를 전달함. (다른말로 하면 마지막 이벤트 값이 저장된다고 보면 됩니다.
-
Rxswift Debounce / ThrottleRxSwift 2021. 6. 29. 10:07
Observable 필터링 소스 Observable에서 선택적으로 항목을 배출하는 연산자들 Debounce Debounce — Observable의 시간 흐름이 지속되는 상태에서 다른 항목들은 배출하지 않고 특정 시간 마다 그 시점에 존재하는 항목 하나를 Observable로부터 배출한다 특정시간이 끝나서 가장 최근의 값을 방출한다. - 사용예제 : 사용자가 버튼을 폭풍 누르다가 더이상 누르지 않고, 지정한 시간이 지날때 가장 마지막 클릭 이벤트를 준다. (클릭 이벤트 말고도 이벤트가 쏟아지다가 마지막꺼를 해야되는경우 아주 좋은듯) 자동완성 연관 검색어 노출 throttle 이벤트가 처음 방출되면 타이머동안 어떤 이벤트도 방출되지 않는다. - 사용예제 : 사용자가 버튼을 폭풍 누를때 여러번의 이벤트를 일..
-
Rxswift (map, flatmap, compactmap) 정리RxSwift 2021. 6. 28. 10:56
이 차이는 잘 알아두는게 좋다 flatmap 먼저 flatmap이 두가지가 있었다... 아래가 Deprecated 된거고, 위가 사용하는 아이인데요 뭐가 다른지 보겠습니다. https://developer.apple.com/documentation/swift/sequence/2905332-flatmap https://developer.apple.com/documentation/swift/sequence/2907182-flatmap let numbers = [1, 2, 3, 4] let mapped = numbers.map { Array(repeating: $0, count: $0) } // [[1], [2, 2], [3, 3, 3], [4, 4, 4, 4]] let flatMapped = numbers...
-
Rxswift (flatMap, flatMapFirst, flatMapLatest)RxSwift 2021. 6. 24. 10:29
해당 내용은 http://reactivex.io/documentation/operators.html#transforming 를 참고하면 되는데 요약하자면, Observable 항목 변환 라고 나와있다. 즉 위와 같은 내용으로 변환해준다고 할 수 있다. 그중에서 FlatMap observable에서 발행한 아이템을 다른 Observable로 만들며, 해당 아이템을 발행하는 모습이라고 볼 수 있다. flatMapFirst flatMap과 마찬가지지만, 새로운 Observable은 동작이 다 끝날때까지 새로 발행된 아이템을 무시한다. 즉 여러개의 Observable이 return 될때 시작한 Observable이 아직 발행이 끝나지 않으면 그 후의 input은 무시되는 셈이다. flatMapLatest fla..
-
RxSwiftRxSwift 2021. 6. 17. 17:48
맨 처음 MS에서 만들어진 rx는 위처럼 비동기 프로그래밍을 위한 API다. Async 한걸 아래처럼 작성하는데, 이걸 간결하게 하고 싶다. 하면 사용한다고 아주 쉽게 이해하면 된다. (콜백 지옥속에서 처리 과정을 찾기 어려울때 이걸 확인해야함다) * 우선 본 내용은 https://www.youtube.com/watch?v=w5Qmie-GbiA 보고 공부차 정리형식으로 작성되었습니다. Why? 이미지 처리할때 보통 아래와 같은 방법으로 비동기 통신의 처리를 하고 있습니다. // 이미지 처리할때 예제 DispatchQueue.global(qos: .default).async { [weak self] in if let url: URL = URL.init(string: url) { // URL 셋팅 if le..