RxSejima 0.10.2

RxSejima 0.10.2

HubKit维护。



 
依赖项
RxCocoa>= 0
RxSwift>= 0
Sejima>= 0
 

RxSejima 0.10.2

  • Damien NOËL DUBUISSON和Loïc GRIFFIÉ

Documentation Language: Swift 2, 3 and 4 Platform: iOS 11+ Carthage Compatible CocoaPods Codacy Badge Build Status License: MIT GitHub contributors Donate

RxSejima

为Sejima库添加绑定能力

需求

  • 支持 iOS 9.0 及以上
  • 支持 Xcode 9.0 及以上

安装

使用 CocoaPods 与 Podfile

pod 'RxSejima'

打开你喜欢的终端,进入你的项目根目录

pod install

使用Carthage和Cartfile

github "MoveUpwards/RxSejima"

打开您的 favorite 终端,切换到项目根目录,然后运行

carthage update

使用

使用 MUButton 创建一个基本的视图控制器

import Sejima
import RxSejima

class ViewController: UIViewController {
    @IBOutlet private var button: MUButton!

    private let bag = DisposeBag()
    private let viewModel: ViewControllerViewModel()

    override func viewDidLoad() {
        super.viewDidLoad()

        viewModel.loading.bind(to: button.rx.loading).disposed(by: bag)
    }

    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)

        startLoading()
    }
}

添加带有逻辑的视图模型

import RxSwift

class ViewControllerViewModel {
    internal let loading = BehaviorSubject<Bool>(value: false)

    internal func startLoading() {
        loading.onNext(true)
        DispatchQueue.main.asyncAfter(deadline: .now() + 2) { [weak self] in
            self?.loading.onNext(false)
        }
    }
}