gpt4 book ai didi

swift - 字符串下标错误

转载 作者:搜寻专家 更新时间:2023-10-31 22:10:48 24 4
gpt4 key购买 nike

我刚刚转换为 Swift 4,现在收到以下错误:无法使用类型为“CountableRange”(又名“CountableRange”)的索引下标类型为“String.UnicodeScalarView”的值

代码行是:

extension AppInvite.PromoCode {
fileprivate static func truncate(string: String) -> String {
let validCharacters = CharacterSet.alphanumerics
let cleaned = string.unicodeScalars.filter {
validCharacters.contains(UnicodeScalar(UInt16($0.value))!)
}

let range = 0 ..< min(10, cleaned.count)
let characters = cleaned[range].map(Character.init)
return String(characters)
}
}

我该如何纠正它?

最佳答案

您正在使用 CountableRange<Int>但要访问字符串的字符,您必须使用 CountableRange<String.Index> :

let range = cleaned.startIndex..<min(cleaned.index(cleaned.startIndex, offsetBy: 10), cleaned.endIndex)

那是因为在 Swift 中,String类型的索引类型String.Index而不是 Int .

关于swift - 字符串下标错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46409500/

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