当前位置: 首页 > 面试题库 >

无法在Swift 3中创建范围

仲孙凡
2023-03-14
问题内容

我正在尝试在Swift 3中建立一个我已经在Swift 2中拥有的范围,但是它一直给我这个错误: String may not be indexed with 'Int', it has variable size elements

这是我的代码:

let range = expireRange!.startIndex.advancedBy(n: 7) ..< expireRange!.startIndex.advancedBy(n: 16)

expiredRange是一个 Range<Index>?

在Swift 2中,我有:

let range = expireRange!.startIndex.advancedBy(7)...expireRange!.startIndex.advancedBy(16)

问题答案:

在Swift 3中,“集合移动其索引”,请参阅 关于Swift进化的集合和索引的新模型。

这是字符串范围和索引的示例:

let string = "ABCDEFG"
if let range = string.range(of: "CDEF") {
    let lo = string.index(range.lowerBound, offsetBy: 1)
    let hi = string.index(range.lowerBound, offsetBy: 3)
    let subRange = lo ..< hi
    print(string[subRange]) // "DE"
}

public func index(_ i: Index, offsetBy n: IndexDistance) -> Index

在字符串上调用方法,以从范围(lower/upperBound现在具有属性而不是 start/endIndex)中计算新索引。



 类似资料:
  • 我试着使用设置并查看了所有选项,但“OK”按钮无法让我完成这个过程。知道吗? 更新:确定按钮现在启用,但填写完所有内容后,我按下确定,我在控制台收到一个不同的错误: [2013-07-22 11:04:45-SDK Manager]错误:null] 访问问题:Android SDK AVD错误:null

  • 问题内容: 想创建一个日期列表,从今天开始,然后返回任意天数,例如在我的示例中为100天。有没有比这更好的方法了? 问题答案: 略胜一筹…

  • 问题内容: 动态创建日期范围以便与报表配合使用的最佳方法。 因此,如果给定的一天没有活动,我可以避免报表上的空行。 通常是为了避免此问题:在sql结果中(在mysql或perl端)填充空日期的最直接方法是什么? 问题答案: 在MySQL中,没有直接的方法可以做到这一点。最好的选择是用您选择的服务器端语言生成一个daterange数组,然后从数据库中提取数据,并使用date作为键将结果数组与date

  • 循环在具有特定键值对的文本文件上运行三次。每个循环都会返回一个新的散列,如下所示。我想将这些散列存储到另一个散列中。,和是散列的关键: 我将上述散列初始化为而不是我想将它们存储到散列中。我想初始化更大的散列,比如。 但它只给了我

  • 我有这样一个问题: /SQLITELOG:(1)表ds_sinhvien没有名为id的列 我不知道如何修复这个,这是我的dbhelper: 谢谢你帮我,我已经修了很长时间了。