RxSwiftのSignalの使い方
- RxSwiftのSignalは、1つの要素またはエラーイベントのみをEmitし、その後Completeするobservable sequenceの一種。
- SignalはSignal.just()で作成でき、パラメータとして1つの値を受けとる。
- Signalは、ネットワークリクエストを実行するときや、静的な値でUI要素を更新するときなど、1つの値を出力して完了する必要があるときに便利。
例
import RxSwift
let disposeBag = DisposeBag()
let signal = Signal<String>.just("Hello, world!")
signal
.emit(onNext: { value in
print(value)
})
.disposed(by: disposeBag)
- この例では、Signal.just()メソッドでSignalを作成し、"Hello, world!"という文字列を渡している。
- 次に、emit(onNext:)メソッドでSignalを購読し、SignalがEmitした値を出力する。
- 最後に、DisposeBagを使用してサブスクリプションを破棄します。
参照
- The official RxSwift documentation: https://github.com/ReactiveX/RxSwift
- RxSwift: Reactive Programming with Swift, Second Edition by Florent Pillet, Junior Bontognali, and Marin Todorov, published by O'Reilly Media, Inc.: https://www.kodeco.com/books/rxswift-reactive-programming-with-swift/v4.0
- Introduction to RxSwift: https://www.raywenderlich.com/6742901-rxswift-tutorial-for-ios-getting-started