본문 바로가기

iOS/RxSwift10

[RxSwift] drive는 뭘까 subscribe랑 bind를 사용하곤 했는데 drive를 쓰면 UI 작업에 안전하다고들 한다. 왜일까 궁금해져서 각 메서드를 비교해야겠다 결심했다 . . ! Rx 내부 코드 보면서 subscribe vs. bind vs. drive 를 언제쓸지에 대해 정리해보려고 한다. subscribe /** Subscribes an element handler, an error handler, a completion handler and disposed handler to an observable sequence. - parameter onNext: Action to invoke for each element in the observable sequence. - parameter onError: Action to .. 2022. 12. 18.
[RxSwift] RxGesture로 바텀시트 Gesture 처리하기 어제 발자국 프로젝트 BottomSheetVC를 구현했는데요 ! ! 사실 너무 잘 짜여진 방식이 있어서 참고하여 구현했지만 . . 공부할 거랑 배울 점이 매우매우 많았습니다 . . 그 중 처음 사용해보기도 하고 너무 유용했던 "RxGesture"에 대해 간단하게 정리하겠습니다 ~ ! RxGesture https://github.com/RxSwiftCommunity/RxGesture GitHub - RxSwiftCommunity/RxGesture: RxSwift reactive wrapper for view gestures RxSwift reactive wrapper for view gestures. Contribute to RxSwiftCommunity/RxGesture development by cre.. 2022. 11. 29.
[RxSwift] Observable.create & Disposable.create 어제 노티 관련 포스팅 중에 Disposable.create에 대한 의문이 생겼었습니다. 왜 저걸 해주는 거지 ? 그래서 . . 오늘 Rx 코드 뜯어보면서 알아보려고 합니다 ! 혼자 공부한 것이므로 틀린 내용이 있을 수 있습니다 . . 자 그럼 Disposable.create를 알아보기 전에 . . 그 앞에 Observable.create부터 살펴봐야겠죠 ? 왜냐면 ~ 저번 Noti + Rx에서 Observable.create으로 먼저 Noti를 생성한 후에 Disposable.create로 remove 해주고 있으니까 . . 전에 RxSwift - Observable 포스팅에서 create(:)에 대해 정리했었는데요. "create은 escaping 클로저로 escaping에서는 AnyObserver를.. 2022. 11. 22.
[RxSwift] NotificationCenter, Notification 프로젝트 진행 중에 키보드에 의해 뷰가 가려지는 상황을 해결해야 했습니다 . . 이 때, NotificationCenter로 사용해 구현할 수 있었는데요 (+ RxSwift 로 ~) 그래서 !! NotificationCenter에 대해서 정리하고 가려합니다 . . 의식의 흐름대로 공부해서 다른 내용도 있을 수 있습니다 . . 양해 부탁드려요 . . NotificationCenter NotificationCenter란 등록된 observers에게 정보를 broadcast가 가능하게 하는 notification dispatch 매커니즘이라고 합니다. 흠. . 무슨소릴까 싶지만 일단 observers 들에게 어떠한 방식으로 정보를 전달하는 아이 . . ? 아래 설명을 계속 살펴볼게요. notification .. 2022. 11. 21.
[RxSwift] Combining Operators 지난 filtering이나 transforming operators들을 살펴보자면 , , Swift 표준 연산자들과 아주 유사했는데요 ! Combining Operators들도 유사한 것들이 많다고 합니다 . . 하하 가봅시다 ~ Prefixing and concatenating 단순해석하자면 앞에 붙이거나 연결하는 것들 ? 입니다 . . 흠 1. startWith(_:) 현재 위치나 네트워크 연결 상태와 같이 현재 상태가 필요한 상황이 있습니다. 이럴 때 현재 상태와 함께 초기값을 붙일 수 있습니다. [코드] example(of: "startWith") { // 1 let numbers = Observable.of(2, 3, 4) // 2 let observable = numbers.startWith(.. 2022. 11. 18.