【问题标题】:How to check, swift version for Playground?如何检查 Playground 的 swift 版本?
【发布时间】:2018-08-22 13:12:35
【问题描述】:

我只是在 playground (xcode-8.2) 中使用 swift 教程测试我的代码。我遇到了以下示例代码:

One-Sided Ranges

for name in names[2...] {
    print(name)
}

现在我的操场出现错误:

现在我觉得我的 swift 版本可能不支持此代码!

我查看了这个答案,但它只为 Xcode 项目提供了解决方案。

如何查看快速版的游乐场?

【问题讨论】:

  • 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 中有操场。

标签: ios swift macos swift-playground


【解决方案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

【讨论】:

【解决方案3】:

在终端运行

swift -version

很可能游乐场会使用那个版本

【讨论】:

  • 如果您安装了多个 Xcode 版本,这并没有真正的帮助。
  • --找swift看路径。可以使用 xcrun 指向相关版本(如果不同)
  • 在之前添加sudo xcode-select --switch /Applications/Xcode.app,以确保您运行的命令行工具与您的主要 Xcode 相同。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-20
  • 2016-02-11
  • 2011-09-22
  • 2014-08-21
相关资源
最近更新 更多