Xcode Playground 时间轴为空
Posted
技术标签:
【中文标题】Xcode Playground 时间轴为空【英文标题】:Xcode Playground Timeline empty 【发布时间】:2016-08-14 09:26:32 【问题描述】:我正在尝试在 xcode 版本 7.3.1 中使用时间线助手编辑器,它总是为空的。 Timeline assistant editor
我认为错误来自 xcode,但是从搜索来看,似乎没有人遇到相同的错误,所以我很困惑。
【问题讨论】:
你能说得更具体点吗? 从 Xcode 8 和 Swift 3 开始,您需要导入 PlaygroundSupport 模块才能渲染到时间线。我在下面给出了关于如何实现这一点的更详细的帖子! How to print to console using swift playground?的可能重复 OP 在问题文本和屏幕截图之间存在一些混淆。从屏幕截图中可以清楚地看出,问题实际上是关于如何查看print
输出——这实际上与时间轴 UI 无关。这使得这个问题与How to print to console using swift playground? 重复
【参考方案1】:
要显示print
的结果,您需要通过菜单打开“调试区域”
查看 > 调试区 > 显示调试区
或者点击左下角的按钮:
要显示时间线图,您可以使用XCPCaptureValue
:
import XCPlayground
var x = 0
for i in 0...10
x += i
print(x)
XCPCaptureValue("Value for x", value: x)
但XCPCaptureValue
已被弃用,将来将不再可用(没有available replacement)。
另一种方法是通过单击右侧的“+”按钮以内联方式显示图形:
右键单击图表,您可以选择显示价值历史记录:
【讨论】:
在我导入 XCPlayground 并使用 XCPCaptureValue 函数后,时间线工作了。我在想这些图表是隐含在时间线上的。 糟糕,我忘了在我的回答中提到导入 XCPlayground,已编辑,谢谢。请注意,如果您升级到 Xcode 8,则必须导入“PlaygroundSupport”而不是“XCPlayground”。【参考方案2】:我自己刚刚开始使用 Playgrounds,遇到了同样的问题,即无法打印到时间轴。
This Medium article 解释了如何在 Xcode 8 和 Swift 3 的时间轴中显示或渲染事物。基本上,您必须创建一个视图并将其分配给 PlaygroundPage.current.liveView:
import UIKit
import PlaygroundSupport
let contentView = UIView(frame: CGRect(x: 0, y: 0, width: 320.0, height: 600.0))
contentView.backgroundColor = UIColor.white
PlaygroundPage.current.liveView = contentView
之后,您可以将任何内容添加到您的 contentView 以显示在时间轴中。 PlaygroundPage.current.liveView 可以接收任何 UIView,如 UILabel、UITextField 等。
但是,有时创建的视图默认为黑色背景,因此您必须记住将 .backgroundColor 设置为 UIColor.white 才能查看它的信息/子视图。
【讨论】:
当然,但这不是被问到的。不同的功能。以上是关于Xcode Playground 时间轴为空的主要内容,如果未能解决你的问题,请参考以下文章
Xcode-playground 的时间线:白色背景上的白色文本
Xcode 6 Beta / Swift - Playground 未更新