쑤야의 개발 블로그

고정 헤더 영역

글 제목

메뉴 레이어

쑤야의 개발 블로그

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (98)
    • Algorithm (52)
    • CS (0)
    • AI (15)
      • PyTorch (4)
      • 논문 (3)
      • Open3D (7)
      • DL (0)
    • iOS (30)
      • RxSwift (4)
      • Combine (4)
      • Swift (1)
    • ETC (1)
      • 기타 (1)
홈태그
  • Algorithm 52
  • CS 0
  • AI 15
    • PyTorch 4
    • 논문 3
    • Open3D 7
    • DL 0
  • iOS 30
    • RxSwift 4
    • Combine 4
    • Swift 1
  • ETC 1
    • 기타 1

검색 레이어

쑤야의 개발 블로그

검색 영역

컨텐츠 검색

iOS/RxSwift

  • share 연산자로 Observable 재사용하기

    2023.04.09 by 쑤야.

  • scan Operator로 Observable 이전 값 활용하기

    2023.03.23 by 쑤야.

  • BehaviorSubject 개념 및 활용

    2023.03.18 by 쑤야.

  • Transforming Operators - Map, FlatMap, FlatMapLatest

    2023.03.17 by 쑤야.

share 연산자로 Observable 재사용하기

Share share() 연산자를 사용하면 Subscribe() 할 때마다 새로운 Observable 시퀀스가 생성되지 않고, 하나의 시퀀스에서 방출되는 아이템을 공유해 사용할 수 있다 POME 프로젝트 RxSwift 적용을 열심히 해나가던 중.. 기록 조회 API가 3번씩 호출되고 있는 것을 발견했다. 먼저 상황을 살펴보자면, POME에서 기록 조회를 할 때 페이징 조회를 사용하기 때문에, pageSubject에서 새로운 값이 방출될 때 마다 기록 조회 요청을 하고 있다. recordsResponse라는 Observable 프로퍼티가 기록 조회 응답 결과를 받는 역할을 한다. 응답을 받아오면 tableView를 reload 시키기 위해 recordsResponse를 활용해 새로운 값을 방출한다. 기록 ..

iOS/RxSwift 2023. 4. 9. 23:24

scan Operator로 Observable 이전 값 활용하기

Zatch 프로젝트 리팩토링 중… 검색에서 물품에 대한 카테고리를 선택할 수 있다. 아래 사진처럼 보라색으로 표시되면 카테고리가 선택된 상태, 회색으로 표시되면 카테고리가 선택되지 않은 상태를 나타낸다. RxSwift를 활용해 아래 부분을 리팩토링 하는 중이었다. 카테고리를 단순히 선택 값을 바꿔주는 것은 새롭게 Observable 값을 넣어주면 되기 때문에 어렵지 않게 구현할 수 있었다. 다만 이전 값과 비교해 이전 값이 새로운 값과 같은 경우는 카테고리 선택을 취소시켜야 하는 것 때문에 조금 고민을 했다. 이전 값과 새로운 값이 같은지 비교하기 위해서는 이전 값에 대한 정보가 필요한 것이다. 하지만 이미 방출된 이전 값을 어떻게 알아내야 하는 것일까 싶었다. RxSwift에서 이와 관련한 기능이 있는..

iOS/RxSwift 2023. 3. 23. 00:01

BehaviorSubject 개념 및 활용

BehaviorSubject Represents a value that changes over time. Observers can subscribe to the subject to receive the last (or initial) value and all subsequent notifications. 생성자 init(value: Element) Initializes a new instance of the subject that caches its last value and starts with the specified value. 생성자 관련 설명을 보면 알 수 있듯이 BehaviorSubject는 PublishSubject와 다르게, 초기값을 가진다. 메서드 public func value() th..

iOS/RxSwift 2023. 3. 18. 22:32

Transforming Operators - Map, FlatMap, FlatMapLatest

Map transform the items emitted by an Observable by applying a function to each item Swift의 고차함수인 map과 동일하게 생각할 수 있다. 각 요소들에 대해서 클로저 연산을 수행해 방출하는 것이다. Observable .of(1, 2, 3) .map{ $0 * 2 } //2 4 6 방출 FlatMap transform the items emitted by an Observable into Observables, then flatten the emissions from those into a single Observable FlatMap merges the emissions of resulting Observables, emitting..

iOS/RxSwift 2023. 3. 17. 22:39

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
쑤야의 개발 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.