일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- RxSwift
- nestjs
- vim
- init
- RFC1738/1808
- ios14
- NavigationLink
- Operater
- swift6
- SwiftUI
- @EnvironmentObject
- Bug
- @Binding
- nonisolated
- NullObject
- IOS
- RxCocoa
- operator
- subject
- Xcode
- Creating Operators
- SWIFT
- @Environment
- dismiss
- @State
- URL(string:)
- Operators
- graphql
- typeorm
- init?
- Today
- Total
목록operator (16)
Tunko Development Diary
timer timer는 interval 연산자와 다르게 시작 시간을 지정할 수 있습니다. public static func timer(_ dueTime: RxTimeInterval, period: RxTimeInterval? = nil, scheduler: SchedulerType) -> Observable { return Timer( dueTime: dueTime, period: period, scheduler: scheduler ) } dueTime는 구독자에게 이벤트 전달되는 시작 시간입니다. preiod: 파라미터가 반복주기입니다. let disposBag = DisposeBag() print("시작 : \\(Date())") Observable.timer(.seconds(1), period: ...
interval 일정 주기마다 정수를 방출하는 옵저버블 입니다. public static func interval(_ period: RxTimeInterval, scheduler: SchedulerType) -> Observable { return Timer( dueTime: period, period: period, scheduler: scheduler ) } period: RxTimeInterval 타입은 RxAbstractInteger 입니다. FixedWidthInteger 의 별칭으로 선언되어있습니다. 코드 참조 public typealias RxAbstractInteger = FixedWidthInteger Apple Developer Documentation period 은 쉽게 말해서 In..
amb amb연산자는 두개 이상의 옵저버블 중에 먼저 이벤트가 발생한 것에서만 구독을 합니다. 이후 다른 옵저버에서 Next이벤트가 발생해도 무시됩니다. let disposeBag = DisposeBag() enum TunkoError: Error { case error } let subject1 = PublishSubject() let subject2 = PublishSubject() let subject3 = PublishSubject() Observable.amb([subject1, subject2, subject3]) // subject1.amb(subject2) // 두개의 옵저버블일때 문법 .subscribe { print($0) } .disposed(by: bag) subject1.onNex..
combineLatest combineLastest는 2개부터 8개까지 옵저버블을 파라미터로 받고, 클로저를 리턴합니다. combineLastest에서 중요한건 이벤트가 방출되는 시점입니다. let disposeBag = DisposeBag() let emoticonSubject = PublishSubject() let textSubject = PublishSubject() Observable.combineLatest(emoticonSubject, textSubject) { emoticon, text -> String in return "\\(emoticon) : \\(text)" } .subscribe{ print($0)} .disposed(by: disposeBag) emoticonSubject.on..
merge 연산자는 옵저버블에서 방출되는 여러 이벤트를 하나의 옵저버블에서 방출하도록 만들어줍니다. concat 연산자와 비슷하지만 다른점은 concat 은 순차적으로 합쳐지는 옵저버블 A, B 가 있다면 A옵저버블에서 발생된 모든 이벤트가 방출된 다음 B옵저버블에서 이벤트가 방출됩니다. 하지만 merge는 A와 B옵저버블이 순차적으로 이벤트를 방출하면 그때마다 이벤트를 받을 수 있습니다. 우선 예제 코드를 보겠습니다. let disposeBag = DisposeBag() enum MyError: Error { case error } let subjectA = BehaviorSubject(value: "🍎") let subjectB = BehaviorSubject(value: "🍐") let subjec..