当前位置: 首页 > 知识库问答 >
问题:

“subscript”不可用:无法为带有可数ClosedRange的字符串下标,请参阅文档注释进行讨论

范浩宕
2023-03-14

在Swift 4中,当我尝试使用下标语法获取字符串的子字符串时,会出现这个错误。

“subscript”不可用:无法使用CountableClosedRange为字符串下标,有关讨论,请参阅文档注释

例如:

let myString: String = "foobar"
let mySubstring: Substring = myString[1..<3]

两个问题:

  1. 如何解决此错误?
  2. 错误中提到的留档评论在哪里?

共有1个答案

王杰
2023-03-14
  1. 如果您想在字符串上使用下标,如“回文”[1。。

雨燕4

extension String {
    subscript (bounds: CountableClosedRange<Int>) -> String {
        let start = index(startIndex, offsetBy: bounds.lowerBound)
        let end = index(startIndex, offsetBy: bounds.upperBound)
        return String(self[start...end])
    }

    subscript (bounds: CountableRange<Int>) -> String {
        let start = index(startIndex, offsetBy: bounds.lowerBound)
        let end = index(startIndex, offsetBy: bounds.upperBound)
        return String(self[start..<end])
    }
}

雨燕3

对于Swift 3,替换为return self[start…end]和return self[start。。

这是Xcode error所指的文档。

更多关于UTF-8和UTF-16等字符串编码的信息

 类似资料:
  • 本文向大家介绍Elixir请参阅带有`h`的文档,包括了Elixir请参阅带有`h`的文档的使用技巧和注意事项,需要的朋友参考一下 示例            

  • Swift 5.x 下标 subscript 类、结构体和枚举可以定义下标, 它可以作为访问集合、列表或序列成员元素的快捷方式. 你可以使用下标通过索引值来设置或检索值而不需要为设置和检索分别使用实例方法. 你可以为一个类型定义多个下标, 并且下标会基于传入的索引值的类型选择合适的下标重载使用. 下标没有限制单个维度, 你可以使用多个输入形参来定义下标以满足自定义类型的需求. 下标语法 下标脚本允

  • 创建类的首选方法是什么 不可变 可以使用Jackson进行序列化/反序列化 可读性强,样板文件水平低 最好是,我希望这样的东西能起作用: 然后将所有字段设置为。然而,这甚至不能编译(我不知道为什么)。使用 将编译,但仅生成

  • 问题内容: 是否有可用的Python脚本或工具可以从Python源代码中删除注释和文档字符串? 应该注意以下情况: 因此,最后我提出了一个简单的脚本,该脚本使用了tokenize模块并删除了注释令牌。它似乎工作得很好,除了我无法在所有情况下都删除文档字符串。看看是否可以改进它以删除文档字符串。 我也想在具有良好单元测试覆盖率的大量脚本中对其进行测试。您可以建议这样一个开源项目吗? 问题答案: 这可

  • 问题内容: 我有一个HTTP客户端(目前)的Node.js应用程序。所以我在做: 这似乎是完成此任务的一种好方法。但是,我有些沮丧,我必须执行此步骤。这应该由一个公共库封装,但是我还没有看到它存在于node的库中,而且我不确定哪个标准的npm包可以完成它。有没有一种合理使用的更好的方法? url.format方法节省了构建自己的URL的工作。但理想情况下,请求的级别也应高于此级别。 问题答案: 检

  • 我通过方法参考获得了关于用lambda替换的声纳信息。但我必须调用字符串上的方法引用???