Swift中String endIndex出错

时间:2017-11-12 19:53:53

标签: swift swift4

我有以下代码:

let hello = "Hola"
let indexI = hello.startIndex
let indexF = hello.endIndex
hello[indexI] // "H"
hello[hello.startIndex] // H
hello[hello.index(after: indexI)] // o

hello[indexF] // Fatal error: Can't form a Character from an empty String

但我在hello[indexF]为什么会出错?

1 个答案:

答案 0 :(得分:5)

如果要访问需要替换的最后一个元素:

let indexF = hello.endIndex

使用:

let indexF = hello.index(before: hello.endIndex)

endIndex的{​​{3}}说:

  

字符串的“过去结束”位置 - 也就是说,位置更大   比最后一个有效的下标参数。