RxSegue 1.0.0

RxSegue 1.0.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最新发布2016年11月
SwiftSwift版本3.0
SPM支持SPM

sergdort 维护。



RxSegue 1.0.0

RxSegue

使用 RxSwift 实现的反应式通用视图控制器切换。

用法

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

示例

RxSegueExample

class ViewController: BaseViewController {
    let disposeBag = DisposeBag()
    @IBOutlet var pushButton: UIButton!
    @IBOutlet var presentButton: UIButton!
    @IBOutlet weak var dismissButton: UIButton!

    var voidSegue: AnyObserver<Void> {
        return ModalSegue(fromViewController: self,
            toViewControllerFactory: { (sender, context) -> SecondViewController in
                return SecondViewController()
        }).asObserver()
    }

    var profileSegue: AnyObserver<ProfileViewModel> {
            return NavigationSegue(fromViewController: self.navigationController!,
                toViewControllerFactory: { (sender, context) -> ProfileViewController in
                    let profileViewController: ProfileViewController = ...
                        profileViewController.profileViewModel = context
                    return profileViewController
            }).asObserver()
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        presentButton.rx.tap
            .bindTo(voidSegue)
            .addDisposableTo(disposeBag)

        pushButton.rx.tap
            .map {
                return ProfileViewModel(name: "John Doe",
                    email: "[email protected]",
                    avatar: UIImage(named: "avatar"))
            }
            .bindTo(profileSegue)
            .addDisposableTo(disposeBag)
    }

}

安装

RxSegue 可通过 CocoaPods 获取。要安装它,只需将以下行添加到 Podfile:

pod "RxSegue"

许可证

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