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)
}
}
}