在我用Swift 4.2编写的应用程序中,我有以下代码:
let arrayOfIntegers = [2, 1, 9, 5, 4, 6, 8, 7]
let unknownLowerBound = 4
let unknownUpperBound = 20
let closedRange = ClosedRange<Int>(uncheckedBounds: (lower: unknownLowerBound,
upper: unknownUpperBound))
let subRange = arrayOfIntegers[closedRange]
subRange.forEach { print($0) }
字符串
你可以猜到,当我运行这段代码时,我收到了以下错误:Fatal error: Array index is out of range
。我想阻止它。
2条答案
按热度按时间2exbekwf1#
你可以检查是否有效数组索引的范围“钳位”到给定的封闭范围等于该范围:
字符串
或者,等价地:
型
lfapxunr2#
检查
ClosedRange<Int>
和Range<Int>
请记住,
Range
不包括upperBound
个字符