如何确保调用'String.Index.advancedBy'won';不会引起撞车吗?

如何确保调用'String.Index.advancedBy'won';不会引起撞车吗?,string,swift,String,Swift,在字符串.CharacterView.Index上调用advancedBy将导致EXC\u BAD\u访问如果前进距离太大。这可以在这里看到: let inputString = "Hello, world!" let index = inputString.startIndex let distance = 100 let newIndex = index.advancedBy(distance) // fatal error: cannot increment endIndex 现在,如果

字符串.CharacterView.Index
上调用
advancedBy
将导致
EXC\u BAD\u访问
如果前进距离太大。这可以在这里看到:

let inputString = "Hello, world!"
let index = inputString.startIndex
let distance = 100
let newIndex = index.advancedBy(distance) // fatal error: cannot increment endIndex

现在,如果
index
已经从字符串的
startIndex
前进了未知的次数,并且
distance
是一些不安全的用户输入,该怎么办?如何验证按给定距离推进索引不会导致崩溃?

您可以使用方法advancedBy(n:Self.distance,limit:Self)并将inputString endIndex设置为限制:

let newIndex = index.advancedBy(distance, limit: inputString.endIndex)

所以我可以,不确定我在查看
advancedBy
API详细信息时怎么会错过这个!