这是代码:
1-offsetBy 为 4 或更少时就可以了
let someString = "hello"
if let someIndex = someString.index(someString.startIndex,
offsetBy: 4, limitedBy: someString.endIndex){
someString[someIndex]
}
// Prints "o"
Run Code Online (Sandbox Code Playgroud)
2- 当 offsetBy 为 6 或更大时就可以了
if let someIndex = someString.index(someString.startIndex,
offsetBy: 6, limitedBy: someString.endIndex){
someString[someIndex]
}
// Prints "nil"
Run Code Online (Sandbox Code Playgroud)
3-但是当offsetBy为5时它会出错
if let someIndex = someString.index(someString.startIndex,
offsetBy: 5, limitedBy: someString.endIndex){
someString[someIndex]
}
// error
Run Code Online (Sandbox Code Playgroud)
错误是:
错误:Playground 执行中止:错误:执行被中断,原因:EXC_BAD_INSTRUCTION(代码=EXC_I386_INVOP,子代码=0x0)。进程已留在中断点,使用“thread return -x”返回到表达式求值之前的状态。
swift ×1