Can't create a range in Swift 3

非 Y 不嫁゛ 提交于 2019-11-28 23:17:30
Martin R

In Swift 3, "Collections move their index", see A New Model for Collections and Indices on Swift evolution.

Here is an example for String ranges and indices:

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"
}

The

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

method is called on the string to calculate the new indices from the range (which has properties lower/upperBound now instead of start/endIndex).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!