RxObjC 是 ReactiveX 的 Objective-C 版本,基于 RxSwift
当前版本是 1.0 ~ 2.5 RxSwift。
RxObjC 1.0 仅包含 rx 的核心,不包含 RxCocoa 模块。
使用 CocoaPods
0.39
。
# Podfile
use_frameworks!
target 'YOUR_TARGET_NAME' do
pod 'RxObjC', '~> 1.0'
end
# RxTests and RxBlocking make the most sense in the context of unit/integration tests
target 'YOUR_TESTING_TARGET' do
pod 'RxBlocking', '~> 2.0'
pod 'RxTests', '~> 2.0'
end
(参见 RxSwift/RxCocoa)
(参见 RxSwift/RxBlocking) 一组用于 RxObjC 的阻塞运算符。这些运算符主要适用于单元/集成测试以及一些其他潜在有用的特殊场景。例如,在退出命令行应用程序之前等待可观察序列完成。
(参见 RxSwift/RxTests) RxObjC 的单元测试扩展。此库包含模拟调度程序、可观察对象和观察者,它们可以使单元测试你的运算符变得与单元测试 RxObjC 内置运算符一样容易。此库包含编写以下方式所需的全部内容
- (void)testMap {
RxTestScheduler *scheduler = [[RxTestScheduler alloc] initWithInitialClock:0];
RxTestableObservable *xs = [scheduler createHotObservable:@[
next(150, @1),
next(210, @0),
next(220, @1),
next(230, @2),
next(240, @4),
completed(300)
]];
RxTestableObserver *res = [scheduler startWithObservable:[xs map:^NSNumber *(NSNumber *o) {
return @(o.integerValue * 2);
}]];
NSArray *events = @[
next(210, @(0 * 2)),
next(220, @(1 * 2)),
next(230, @(2 * 2)),
next(240, @(4 * 2)),
completed(300),
];
XCTAssertEqualObjects(res.events, events);
XCTAssertEqualObjects(xs.subscriptions, @[
Subscription(200, 300)
]);
}