gpt4 book ai didi

swift - 使用 firstIndex(of : Character) in Swift? 时是否总是需要 Nil-Coalescing

转载 作者:搜寻专家 更新时间:2023-11-01 06:12:45 27 4
gpt4 key购买 nike

摘自 Apple 的 The Swift Programming Language (Swift 4.2) 文档。

let greeting = "Hello, world!"
let index = greeting.firstIndex(of: ",") ?? greeting.endIndex

let beginning = greeting[..<index]

除了我排除了代码的 Nil 合并部分之外,上面的示例工作得很好。

let beginning = greeting[..<greeting.firstIndex(of: ",")]

通过省略 ?? greeting.endIndex,Xcode 返回错误。

问题是为什么有必要?为什么我们不能直接使用 firstIndex() 来访问子字符串。

最佳答案

因为它可能不是所提供字符的索引,所以按照您的方式应用程序将崩溃

 func firstIndex(of element: Character) -> String.Index?

可选返回String.Index?解决它,这就是为什么你需要 ??

如果你不提供 ??

然后你必须强制解包 let beginning = greeting[..<index]这里的索引应该是index!如果它为 nil 将导致崩溃

关于swift - 使用 firstIndex(of : Character) in Swift? 时是否总是需要 Nil-Coalescing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51785426/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com