Shakuro.TaskManager 1.1.5

Shakuro.TaskManager 1.1.5

[apopov1988]Popov SergeySergey LaschukPopov SergeyKlyuenkov EugeneiOSDevs维护。



  • apopov1988 和 wwwpix

Shakuro Task Manager

任务管理器

Version Platform License MIT

任务管理器是一个Swift库,用于管理异步操作。任务管理器组件的主要目的是将服务器、数据库和其他后台操作封装成类似于单元的操作或任务。这有助于将业务逻辑与UI分离,并在整个应用中重用操作。

需求

  • iOS 13.0+
  • Xcode 15.0+
  • Swift 5.0+

安装

CocoaPods

要在CocoaPods中整合Task Manager到您的Xcode项目中,请规定其在您的Podfile中

pod 'Shakuro.TaskManager'

然后,在终端中运行以下命令

$ pod install

手工操作

如果您不想使用CocoaPods,可以简单地将其复制到您项目中以整合Shakuro.TaskManager。

用法

  1. 通过扩展BaseOperation创建几个操作。一个操作应该是业务逻辑的完整且独立的单元。
  2. 扩展TaskManager并覆盖.willPerformOperation()。在这个方法中定义操作之间的依赖关系。创建两个单独的TaskManager对象/子类是个好主意:一个用于处理与认证相关的任务,另一个用于所有其他工作。
  3. 通过在TaskManager上调用.performOperation()或.performGroup()来启动您的任务。您可以使用完成处理来处理结果。

查看TaskManager_Example

重要提示

如果操作的工作仅依赖于其选项,则应该定义operationHash。哈希用于.willPerformOperation()来构建依赖关系。

仔细考虑操作之间的依赖关系。.willPerformOperation()应该返回传入队列(旧)的操作,而不是如果两个操作(旧的和新的)从业务逻辑角度看相等,创建一个新操作。这将导致只有一个操作执行,但有多处完成回调。

每个任务(一个操作或操作组)都可以有一个retryHandler来在指定的条件下执行重试。如果您处理的是一个不可靠的服务器,它是一个完美的工具。

常规流程:交互器 -> 选项 -> 任务管理器(操作和内部依赖)-> HTTP客户端 + 数据库 -> 如果发生错误(例如,会话过期错误),则重试 -> 交互器内的完成块,带有类型化结果。

许可证

Shakuro.TaskManager根据MIT许可证发布。有关详细信息,请参阅LICENSE

试试它并联系我们

如果您喜欢这个工具,请给它加星,这将帮助我们成长并添加更多有用的东西。请随时联系我们,并可雇佣我们的团队为您开发移动或Web项目。