Swift에서 Reactive Programming을 구현하기 위한 프레임워크이다. 비동기 데이터 흐름과 이벤트 기반 프로그래밍을 처리할 수 있도록 도와준다
Observable 또는 Stream이라는 데이터 흐름을 사용하여 이벤트를 처리한다.Observable이 될 수 있다.Observable에서 방출되는 데이터를 구독하여 처리하는 역할을 한다Observable데이터를 변환하거나 필터링하는 데 사용된다map, filter, flatMap, merge, combineLatestObservable입니다.PublishSubject, BehaviorSubject, `ReplaySubject, AsyncSubject.// hello RxSwift
import RxSwift
let disposeBag = DisposeBag()
Observable.just("Hello, RxSwift!")
.subscribe(onNext: { value in
print(value)
})
.disposed(by: disposeBag)
// UI 바인딩
import RxSwift
import RxCocoa
class ViewController: UIViewController {
let disposeBag = DisposeBag()
let textField = UITextField()
let label = UILabel()
override func viewDidLoad() {
super.viewDidLoad()
textField.rx.text.orEmpty
.bind(to: label.rx.text)
.disposed(by: disposeBag)
}
}
// Operators 활용
let numbers = Observable.of(1, 2, 3, 4, 5)
numbers
.map { $0 * 2 } // 각 숫자를 2배로 변환
.filter { $0 > 5 } // 5보다 큰 값만 통과
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
RxSwift를 사용하여 비동기 처리와 이벤트 기반 프로그래밍을 간결하고 효율적으로 구현할 수 있고 UI와의 연동이나 복잡한 데이터 흐름 처리에 특히 유용하다