OperationTimelane 0.9.0

OperationTimelane 0.9.0

Marin Todorov 维护。



OperationTimelane

Timelane Icon

OperationTimelane 提供了一个API,它允许您在Timelane工具中进行可视化调试,以调试基于Operation的异步代码。

Timelane Instrument

内容

用法

调试特定操作

在您的代码中导入OperationTimelane框架

import OperationTimelane

在创建操作时,使用lane(_)函数"激活"操作以在Timelane中进行调试

let op = MyOperation().lane("My Operation")

然后通过在Xcode主菜单中点击产品 > 分析来分析您的项目。

选择Timelane工具模板

Timelane Instrument Template

在交互式时间表中检查您的操作

Timelane Live Recording

调试特定操作队列

OperationTimelane 提供了一个自定义操作队列,该队列自动将添加的操作记录在 Timelane 中。(优先于自定义类型而不是切换。)

创建一个 LaneOperationQueue (换句话说就是用这个替换你的现有队列)并按照以下方式添加操作

let myQueue = LaneOperationQueue(name: "My Queue")

myQueue.addOperation(...)
myQueue.addOperation(...)
myQueue.addOperation(...)

添加的所有操作都将在 Timelane 中可视化,就像上一节那样。

要了解更多详细信息,请访问 http://timelane.tools

API 参考文档

Operation.lane(_:filter:)

使用 lane("Lane name") 将数据发送到 Timelane 工具中的订阅和事件车道。

lane("Lane name", filter: [.subscriptions]) 将开始/完成事件发送到订阅车道。

lane("Lane name", filter: [.events]) 将事件和值发送到事件车道。

Operation.laneValue(_)

如果您想在 Timelane 中记录当前操作的值,请使用此函数。

LaneOperationQueue

临时将您自己的操作队列替换为此类型,以在 Timelane 中调试其操作。

安装

Swift Package Manager

I. 在Xcode中自动安装

  • 点击文件 > Swift Packages > 添加包依赖...
  • 使用包URL https://github.com/icanzilb/OperationTimelane 将TimelaneCombine添加到您的项目中。

II. 在您的Package.swift文件中手动添加

.package(url: "https://github.com/icanzilb/OperationTimelane", .from("1.0.0"))

CocoaPods

CocoaPods 是一个用于Cocoa项目的依赖管理器。有关使用和安装说明,请访问他们的网站。要使用CocoaPods将 OperationTimelane 集成到您的Xcode项目中,请将其添加到您的 Podfile 中。

pod 'OperationTimelane', '~> 1.0'

Carthage

Carthage 是一个去中心化的依赖管理器,它会构建您的依赖并为您提供二进制框架。要使用Carthage将 OperationTimelane 集成到您的Xcode项目中,请将其添加到您的 Cartfile

github "icanzilb/OperationTimelane" "1.0"

示例

此仓库包含一个简单的示例应用程序。要尝试它,请打开 OperationTimelane/OperationTimelane.xcodeproj 并运行 "OperationTimelaneDemo" 计划。

Timelane demo app

授权

版权所有 (c) Marin Todorov 2020。本软件包采用MIT许可提供。