IOViewModel 0.1.4

IOViewModel 0.1.4

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2017年10月
SwiftSwift 版本4.0
SPM支持 SPM

Arnaud Dorgans维护。






示例

要运行示例项目,首先克隆仓库,然后从示例目录运行pod install

要求

安装

IOViewModel可通过CocoaPods获得。要安装
它,只需将以下行添加到您的Podfile中

pod 'IOViewModel'

用法

安装XCTemplate,立即生成精致的ViewModel

ViewModel

import IOViewModel
import RxSwift
import RxSwiftExt

class UserViewModel: IOViewModel {

    typealias In = Input
    typealias Out = Output

    private (set) lazy var `in`: In = In(vm: self)
    private (set) lazy var out: Out = Out(vm: self)

    class Input: IOViewModelIn<UserViewModel> {

        lazy var user = BehaviorSubject<User?>(value: nil)
    }

    class Output: IOViewModelOut<UserViewModel> {

        var user: Observable<User> {
            return self.in.user.unwrap()
        }

        var name: Observable<String> {
            return user.map { $0.firstName + " " + $0.lastName }
        }
    }
}

ViewController

let vm = UserViewModel()

userView.rx.user
    .bind(to: vm.in.user)
    .disposed(by: disposeBag)

vm.out.name
    .bind(to: nameLabel.rx.text)
    .disposed(by: disposeBag)

XCTemplate

IOViewModel与xctemplate一起发布。

要安装它,只需在xctemplates目录中进入并在一台终端中运行此命令

sh install.sh

作者

匿名,[email protected]

许可证

IOViewModel在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。