【发布时间】:2018-07-30 14:34:49
【问题描述】:
我正在阅读《Swift 编程语言》 Swift 4.2”和“子字符串”部分下的“字符串和字符”一章中,以以下代码为例:
let greeting = "Hello, world!"
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
let beginning = greeting[..<index]
// beginning is "Hello"
// Convert the result to a String for long-term storage.
let newString = String(beginning)
我将此块复制并粘贴到我的 Xcode 游乐场;但是,我收到以下错误:
Playground execution failed:
error: MyPlayground.playground:6:13: error: value of type 'String' has
no member 'firstIndex'
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex
^~~~~~~~ ~~~~~~~~~~
我检查了https://developer.apple.com/documentation/swift/string上的String类确实有一个名为firstIndex()的方法。
我的游乐场顶部有 import UIKit;。
你能告诉我为什么我会收到这个错误吗?
【问题讨论】:
-
就我测试您在我的 Xcode 10 beta 4 中显示的代码而言,它按预期运行。 Swift 4.2 附带 Xcode 10。您使用的是哪个版本的 Xcode?span>
-
@OOPer 显然,我使用的是 9.4.1 版本的 Xcode。我没有意识到 Swift 4.2 附带 Xcode 10 beta 4。我很抱歉。我会确保下次检查。
-
事实上,Apple 并不擅长显示版本信息,许多开发人员对显示的 beta 文档感到疑惑。也许我们开发者需要向 Apple 发送更多请求,以改进开发者的网站。
-
@OOPer 我一定会让他们知道我遇到了这个问题,并希望他们以更好的方式警告我们这些版本。