如何检查 Playground 的 swift 版本?
Posted
技术标签:
【中文标题】如何检查 Playground 的 swift 版本?【英文标题】:How to check, swift version for Playground? 【发布时间】:2018-08-22 13:12:35 【问题描述】:我只是在 playground (xcode-8.2) 中使用 swift 教程测试我的代码。我遇到了以下示例代码:
One-Sided Ranges
for name in names[2...]
print(name)
现在我的操场出现错误:
现在我觉得我的 swift 版本可能不支持此代码!
我查看了这个答案,但它只为 Xcode 项目提供了解决方案。
How do I see which version of Swift I'm using?如何查看快速版的游乐场?
【问题讨论】:
Xcode 9 - 斯威夫特 4。Xcode 8 - 斯威夫特 3。 @rmaddy - 对我来说似乎是一个问题,Xcode 8.2 支持 Swift 2.0 到 3.2(大约)。我们如何确保 Playground 支持 3.0 而不是其他。我该如何检查它。 @Krunal 我使用 Xcode 8 已经太久了,而且我从未使用过 Swift 2。但是 Swift 2 和 3 之间的 API 完全不同。尝试使用任何 Swift 3 语法。更好的是,获取最新信息。使用 Xcode 9.2 并使用 Swift 4。没有人应该再使用 Swift 2。这是历史。 @rmaddy 是的,我也使用 Xcode 9.2+,一个简单的问题是,一个 Xcode 工具支持多个版本的 Swift 语言。我们如何确保 Playground 支持哪个特定版本的 Swift 语言。默认情况下,它是否支持该特定 Xcode 工具的最新版本? Apple 文档目前适用于 Swift 4。names[2...]
是 Swift 4。只有 Xcode 9.x 支持 Swift 4 Playground。目前,不,您不能选择:playground 仅兼容与 Xcode 捆绑的最新稳定 Swift 版本。即:Xcode 9.3 将在 Swift 4.1 中有操场。
【参考方案1】:
尝试使用以下代码找出 swift 版本。 (在这里,我用 Xcode 9.3 - beta 4 的 Playground 尝试了这段代码)它为我提供了正确的答案。
#if swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.0)
print("Hello, Swift 3.x")
#else
print("Hello, Swift 2.2")
#endif
回答您的问题:我不确定,但根据上述代码的结果,我可以说,您的 Xcode 工具支持的最新 Swift 版本成为 Playground 的 Swift 语言版本。 p>
【讨论】:
令人惊讶的是,这也适用于 iPad Playgrounds 应用程序【参考方案2】:默认情况下,Playground 根据您的 Xcode 版本使用 Swift 版本
您可以在此处通过 Xcode 发布查看 Swift 版本 https://swift.org/download/#releases
【讨论】:
一个小警告:Some Apple documentation is incorrect regarding which Swift version is available for Xcode. 如果您在 iPad 上使用 Swift Playgrounds 应用程序,这将不起作用。 Krunal 的建议确实有效【参考方案3】:在终端运行
swift -version
很可能游乐场会使用那个版本
【讨论】:
如果您安装了多个 Xcode 版本,这并没有真正的帮助。 --找swift看路径。可以使用 xcrun 指向相关版本(如果不同) 在之前添加sudo xcode-select --switch /Applications/Xcode.app
,以确保您运行的命令行工具与您的主要 Xcode 相同。以上是关于如何检查 Playground 的 swift 版本?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过在 swift playground 中传递 Int 数组来创建求和函数并调用它?
如何在 Swift Playground 中输入 pi 符号。 option + p 在我的 MacBookPro 键盘上不起作用...?