如何使用Swift将Array.count结果移位-1?

时间:2019-05-26 12:05:58

标签: arrays swift

我有一个包含7个对象的数组,并且正在使用Array.count来获取数组中的对象数。

然后,我使用Int.random(in: 0 ... arrayMax)从数组中获取随机对象。但是,由于数组中有7个对象,并且.count将返回7,所以我偶尔会遇到错误,因为7显然是6

我试图通过以下方式解决此问题:

let nTMax = Array.count
let nTSelection = Int.random(in: 0 ... nTMax)
print (nTMax, nTSelection) 
let nTSelectionProtect = nTSelection -1

,但是nTSelectionProtect拒绝被接受。我希望进行安全性计算,以使7始终为6,但是我不确定该怎么做。

我该怎么办?

1 个答案:

答案 0 :(得分:2)

使用起来更安全

    let nTSelection = Int.random(in: 0..<nTMax)

    let nTSelectionProtect = nTSelection -1

如果返回的随机数为零,则会崩溃,该nTSelection -1将是-1


您还可以使用以下方法获取随机元素

print(array.randomElement())