繁体   English   中英

创建范围 <String.Index> 从常量Int

[英]Creating Range<String.Index> from constant Ints

这段代码构造了一个范围,然后应在对substringWithRange的调用中使用这是怎么回事?

let range = Range<String.Index>(start: 0, end: 3)

Swift编译器(在Xcode 7.1.1中)使用以下错误消息对其进行标记:

无法使用类型为'(start:Int,end:Int)'的参数列表来调用'Range <Index>'类型的初始化程序

您需要引用特定字符串的startIndex,然后前进:

let longString = "Supercalifragilistic"
let startIndex = longString.startIndex
let range = Range(start: startIndex, end: startIndex.advancedBy(3))

您可以使用多种方式

let startIndex = text.startIndex
let endIndex = text.endIndex

var range1 = startIndex.advancedBy(1) ..< text.endIndex.advancedBy(-4)
var range2 = startIndex.advancedBy(0) ..< startIndex.advancedBy(5)
var range3 = startIndex ..< endIndex

让substring = text.substringWithRange(范围)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM