RxSwift추가개념2-2

작성일

요소 찾기

import UIKit
import RxCocoa
import RxSwift

let strikes = PublishSubject<String>()
let disposeBag = DisposeBag()

strikes.element(at: 1)
    .subscribe(onNext: { _ in
        print("You are out!")
    })
    .disposed(by: disposeBag)




strikes.onNext("Xwegw")
strikes.onNext("Ygg")
strikes.onNext("Zgw")

element(at: 1)을 사용하면, at에 들어가있는 숫자(인덱스번호) 만 출력된다.
출력해보면

You are out

가 출력이 된다. at에 3을 넣으면 출력이 안된다. 요소가 없기 때문이다.

물론 원하는걸 찾아오고 싶으면

import UIKit
import RxCocoa
import RxSwift

let strikes = PublishSubject<String>()
let disposeBag = DisposeBag()

strikes.element(at: 1)
    .subscribe(onNext: {
        print($0)
    })
    .disposed(by: disposeBag)




strikes.onNext("Xwegw")
strikes.onNext("Ygg")
strikes.onNext("Zgw")

이런식으로 작성하면,
출력하기

Ygg

이런식으로 출력 되기도 한다.

Filter

import UIKit
import RxCocoa
import RxSwift

let disposeBag = DisposeBag()

Observable.of(1,2,3,4,5,6,7)
    .filter { $0 % 2 == 0 }
    .subscribe(onNext: {
        print($0)
    }).disposed(by: disposeBag)

출력해보면

2
4
6

이렇게 출력된다. 즉 그냥 말 그대로 필터링해주는 것이다.