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
이렇게 출력된다. 즉 그냥 말 그대로 필터링해주는 것이다.