RxSupport 1.0.0

RxSupport 1.0.0

outofcode维护。



 
依赖关系
RxSwift~> 5.0
RxCocoa~> 5.0
 

RxSupport 1.0.0

  • 作者
  • outofcoding

RxSupport

CI Status Version License Platform

安装

RxSupport可以通过CocoaPods获得。要安装它,仅在Podfile中添加以下行即可

pod 'RxSupport'

需求

  • Swift 4

示例

为了运行示例项目,首先需要克隆仓库,并在示例目录中运行pod install

Observable.Element的类型支持

解包Observale.Element是可选类型

// notNil
let optionalValue1: String? = "not nil"
Observable.just(optionalValue1)
    .notNil()
    .subscribe(weak: self) { (self, value) in
        print("string = \(value)")
    }
.disposed(by: disposeBag)

// or
let optionalValue2: String? = nil
Observable.just(optionalValue2)
    .or("null value")
    .subscribe(weak: self) { (self, value) in
        print("string = \(value)")
    }
.disposed(by: disposeBag)

ObservableType.Weak

弱self创建时,self为nil时闭包不工作。节省你的类型。flatMap、flatMapFirst、flatMapLatest、do、map、subscribe

// Before
Observable.just(1)
    .map { [weak self] number -> String? in
        if let self = self {
            return "\(self.text) \(number)"
        } else {
            return nil
        }
    }
    .notNil()
    .subscribe(onNext: { [weak self] value in
        guard let self = self else { return }
        print("\(self.format)\(value)")
    })
    .disposed(by: disposeBag)

// After
Observable.just(2)
    .map(weak: self) { (self, number) -> String in
        "\(self.text) \(number)"
    }
    .subscribe(weak: self) { (self, value) in
        print("\(self.format)\(value)")
    }
    .disposed(by: disposeBag)

作者

outofcoding,[email protected]

许可

RxSupport 在MIT许可下可用。请参阅LICENSE文件以获取更多信息。