SwiftBloc:基于 SwiftUI 和 Combine 的状态管理利器,轻松分离界面与逻辑

SwiftBloc 这个 SwiftUI 库的设计灵感源于一个优秀的 Flutter 软件包,它借鉴了 BLoC(业务逻辑组件)方法,实现了视图和业务逻辑的分离。借助 Apple 的 Combine 框架,SwiftBloc 以响应式编程的方式进行状态管理。

上手指南

首先,你需要确定哪种方法更适合你的应用程序:

  • 如果你希望简单直接地管理状态,并且状态变更不依赖于当前事件,可以使用 Cubit 类创建子对象来处理状态。
  • 如果你需要更复杂的实现,例如跟踪事件并将其映射到状态,那么可以选择 Bloc 类。

在这两种情况下,你都需要在自定义 View 结构中创建一个 BlocView 实例。在初始化 BlocView 时,你需要传入你创建的 Cubit 或 Bloc 对象,并提供一个 @ViewBuilder 构建器函数。

BlocView 的作用是根据当前状态,在构建器回调中重新构建视图。每当状态发生变化时,你的视图都会自动更新。

zip 文件大小:68.41KB