GoReactiveTests 0.1.1

GoReactiveTests 0.1.1

Gal Orlanczyk 维护。



  • 作者
  • Gal Orlanczyk

GoReactive

Build Status Version License Platform

GoReactive 是一个简单而强大的基于可观察模式的事件反应框架。它提供了方便完成观察、绑定等许多简单任务的简单方法。对于众多日常任务非常有用,可以避免在代码库中引入过多的复杂性。

GoReactive 故意不处理不同线程中的事件,这个框架的主要目的是提供易于调试且轻量级的强大功能。

开发这个框架的原因在于在某些地方,与大型反应框架的整合可能会很困难,对新员工来说更难跟上(学习曲线陡峭),同时也存在出现错误或误用的风险。这个框架旨在为大多数常用流程和观察提供简单解决方案,无需调试多线程环境,无需学习许多操作员以及更改您的应用程序架构。只在需要的地方使用,不打扰应用程序流程和当前架构。

如果您需要更复杂的功能,这个框架不会很大且拥有许多操作符,如果您只需要简单的绑定和可观察模式,这个框架是一个很好的选择。

文档

简单使用

import GoReactive

...

class ViewModel {
    let bindableProperty = Property<String?>(nil)
}

...

let viewModel = ViewModel()
// A group of cancelable subscriptions, 
// will handle disposing of all subscriptions when deinitialized.
let cancelableGroup = CancelableGroup()

@IBOutlet weak var bindableLabel: UILabel!
@IBOutlet weak var bindableTextField: UITextField!

...

// Can subscribe to changes
self.viewModel.bindableProperty.subscribe(onNext: { (value) in
    // handles subscription
}).add(to: self.cancelableGroup)

// Can bind one way
self.viewModel.bindableProperty
    .bind(to: self.bindableLabel.reactiveComponent.text)
    .add(to: self.cancelableGroup)

// Can bind two way
self.bindableTextField.reactiveComponent.text
    .bidirectionalBind(to: self.viewModel.bindableProperty)
    .add(to: self.cancelableGroup)

示例

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

需求

  • Xcode 10
  • Swift 4.2

安装

GoReactive 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'GoReactive'

待办事项

  • 结合观察者操作
  • 映射观察者操作
  • 使用可观察序列与 KVO、通知等
  • CI 管道自动部署(版本和标签上的文档)及其他改进
  • 代码覆盖率
  • SwiftLint
  • 支持 tvOS、macOS

作者

Gal Orlanczyk, [email protected]

许可协议

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