RxToBolts 0.2.0

RxToBolts 0.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2018年1月
SwiftSwift 版本4.0
SPM支持 SPM

Junmo Kim 维护。



 
依赖于
RxSwift~> 4.0
Bolts~> 1.9.0
 

RxToBolts 0.2.0

RxToBolts

Objective-C 的 Bolts 包装器,用于 RxSwift 单次事件特性

Build Status

如果您想引入 RxSwift 但对大量遗留 Objective-C 类犹豫不决,这可以帮助您。

开始使用

  1. 在 Podfile 中添加以下内容并安装
pod 'RxToBolts'
  1. 用 Swift 编写您的 Rx 代码
@objc class Service {
    func getStatus() -> Single<Status> {
        return Single<Status>.create { observer -> Disposable in
            [...]
        }
    }
}
  1. 在不费任何努力的情况下添加包装方法
extension Service {
    @objc func objc_getStatus() -> BFTask<Status> {
        return getStatus().toBoltsTask()
    }
}
  1. 在 Objective-C 中使用它
- (void)didTapLoadStatus {
    [[Service objc_getStatus] continueWithBlock:^id(BFTask *task) {
        if (task.isCancelled) {
            // get status was cancelled.
        } else if (task.error) {
            // get status failed.
        } else {
            Status *status = task.result;
            NSLog(@"Status: %@", status.text);
        }
        return nil;
    }];
}

🎉