提问人:drestwn 提问时间:11/1/2023 最后编辑:HangarRashdrestwn 更新时间:11/2/2023 访问量:41
Swift Playground 中的代码未显示数组中的数据
Code in Swift Playground not showing data inside Array
问:
有谁知道在 Xcode 中学习代码的合法第一个设置? 右侧的数据不显示在数组内部,而只显示其中的类型数据。
目前正在学习它,通常我在VScode中编写代码。
设置的结果,就像指南一样。
答:
1赞
Sweeper
11/1/2023
#1
在旧版本的 Xcode 中,数组的内容确实显示在右侧边栏上。请参阅此问题的屏幕截图。
在 Xcode 15 发行说明中,有一整节是关于 Playgrounds 的,其中提到:
Xcode Playgrounds 中的结果边栏显示该行上所有表达式的摘要,并且新控件允许您查看包含每个表达式详细信息的弹出框。
“Array of 3 string elements”听起来确实像是表达式的“摘要”,您确实可以单击右侧的眼睛按钮来查看弹出窗口(或单击左侧的带边框的方形按钮以显示内联面板),其中包含结构化描述。
输出:
这看起来像是这样打算的。每个元素都与元素的索引一起显示在自己的行中。如果你觉得这很难阅读,你可以遵循 CustomPLaygroundDisplayConvertible
,并在其中返回一个字符串(或 playgrounds 支持显示的任何其他内容)。Array<String>
例如,在这里我实现了它,以便数组的元素都用分隔符连接在一个单一的 中。String
,
extension Array: CustomPlaygroundDisplayConvertible where Element == String {
public var playgroundDescription: Any {
self.joined(separator: ", ")
}
}
现在右边的显示屏更容易阅读。
请注意,这样做会影响所有(或扩展的任何类型)的显示。Array<String>
评论
0赞
drestwn
11/2/2023
我理解它,但我希望它在不先单击结果的情况下显示。我以为我需要做一些设置。我已经知道通过单击在右侧看到结果。
0赞
Sweeper
11/2/2023
@Andre不,我认为这是不可能的。
0赞
Sweeper
11/2/2023
@Andre 实际上,现在我想到了,我记得能够在旧版本的 Xcode 中看到数组的元素,尽管这可能是显示在右侧栏上的结果。由于 Xcode 15 对 playground 进行了大量更改,“不再以内联方式显示数组内容”可能是更改之一(请参阅发行说明)。print
0赞
drestwn
11/3/2023
感谢您的解释 Sweeper。现在我明白了。即使对我来说,他们在不同的 Xcode 版本中更改这样的东西也很奇怪
评论
print(morenames)
或。print(copy)