gpt4 book ai didi

swift - 无法在 Swift 3 中创建范围

转载 作者:行者123 更新时间:2023-11-30 13:05:32 24 4
gpt4 key购买 nike

我试图在 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 中,“集合移动其索引”,请参阅 A New Model for Collections and Indices关于 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

在字符串上调用方法来计算新的索引range(现在具有属性 lower/upperBound 而不是开始/结束索引)。

关于swift - 无法在 Swift 3 中创建范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39418677/

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